You are on page 1of 19

Es la

Parte de la aplicacin que implementa la lgica de


negocio.

Responsabilida
des

- Recuperacin de datos convirtindolos en


conceptos significativos para la aplicacin,
- Su procesamiento, validacin, asociacin y
cualquier otra tarea relativa a la manipulacin de
dichos datos

MODELO

EJEMPLO

en

Guardar datos del usuario, el almacenamiento de


asociaciones con amigos, el almacenamiento y la
recuperacin de fotos de los usuarios, encontrar
sugerencias de nuevos amigos, etc. Mientras que
los objetos del modelo pueden ser considerados
como Amigo, Usuario, Comentario y Foto.

MODELO:
CAPA DE
DATOS
ASP.NET

Se debe crear una clase por cada objeto de la


Base de Datos (Tablas, Vistas, entre otros) o
entidad.
Representacin de datos en memoria dentro de la
aplicacin
Es un Proyecto en Visual Studio
Hace referencia a la capa auxiliar y de entidades.
Ejemplo:
Public Class alumno{
public int edad {get;set;};
public string nombres {get;set;}
public string apellidos {get;set}

MODELO:
CAPA
AUXILIAR
DE
ENTIDAD
ES
ASP.NET

Se encarga de contener todos aquellos objetos


(clases) que representan al negocio, y esta es la
nica que puede ser instanciada en las 3 capas
anteriores, es decir, solo ella puede tener
comunicacin con el resto pero su funcin se limita a
nicamente ser un puente de transporte de datos.
Esta capa complementa al Modelo
Es un Proyecto en Visual Studio. Capa de acceso
de negocios??
Clases y modelado de la realidad.
Se crea como una biblioteca de clases (Agregar
Proyecto a la solucin)
public class alumno_dto{
public int dto_edad {get;set;}
public string dto_nombres {get;set;}
public string dto_apellidos {get;set}
public Nullable<int> pulso { get; set;}
public Nullable<int> tamax { get; set;}
}

>> No hace referencia


A ninguna otra
capa

VISTA

EJEMPLO

Es la

hace una presentacin de los datos del modelo


estando separada de los objetos del modelo.

Responsabilida
des

- uso de la informacin de la cual dispone para


producir cualquier interfaz de presentacin de
cualquier peticin que se presente.

Como la capa de modelo devuelve un conjunto de datos, la


vista los usara para hacer una pgina HTML que los contenga.
O un resultado con formato XML (o una amplia variedad de
formatos en funcin de sus necesidades tales como videos,
msica, documentos y cualquier otro formato que puedas
imaginar) para que otras aplicaciones puedan consumir.

Vistas y UI. Hace referencia a entidades y negocios

VISTA:

Caractersticas: Vistas fuertemente tipadas (va a


estar modelada por una clase de la capa de
entidades), vistas parciales (si queremos reutilizer
una porcion de codigo html en varias partes de la
app) y paginas de diseno o maestra().

CONTROLAD
OR
(CAPA DE
NEGOCIOS)

Gestiona la peticin de los usuarios


Es responsable de responder la informacin
solicitada con la ayuda tanto del modelo
como de la vista.
Es la Capa de Negocios. Donde se
desarrollan y ejecutan los mtodos
agregar, eliminar, actualizar, listar, leer,
mostrar,
pueden ser vistos como administradores
cuidando de que todos los recursos
necesarios para completar una tarea se
deleguen a los trabajadores ms adecuados.
Se crea como una biblioteca de clases. (New
Project). Hace referencia a la capa de
modelos y entidades
Las clases de controlador contienen
mtodos de accin que representan las
pginas de vista

CONTROLAD
OR:

Espera peticiones de los clientes,


comprueba su validez de acuerdo a las
normas de autenticacin o autorizacin,
delega la bsqueda de datos al modelo
y
selecciona el tipo de respuesta ms
adecuado segn las preferencias del
cliente.
Finalmente delega este proceso de
presentacin a la capa de la Vista.
Es bueno crear un controlador por cada
clase de la capa de entidades
public class BasicController : Controller {
public ActionResult Index() {
// Este mtodo devuelve la vista index.cshtml, del directorio Views // Equivalente a
return View("Index")
return View(); }
}

Controller es una clase derivada de la clase controller de asp.Net MVC qu


Tiene un mtodo view para retornar las vistas (archivo con extensin.cs
que ser procesada por Razor).

CONTROLAD
OR:
Metodos de
Accion

la
interaccin
del
usuario
con
aplicaciones ASP.NET MVC se organiza en
torno a los controladores y mtodos de
accin.El controlador define los mtodos
de accin.Los controladores pueden
incluir tantos mtodos de accin como
sea necesario.
Son ejemplos de interacciones del usuario especificar una
direccin URL en el explorador, hacer clic en un vnculo y
enviar un formulario.
En cada caso, la direccin URL de la solicitud incluye
informacin que el marco de MVC utiliza para invocar un
mtodo de accin.

Resultado de la accin

Mtodo auxiliar

Descripcin

ViewResult

View

Representa una vista como una


pgina web.

PartialViewResult

PartialView

Representa una vista parcial, que


define una seccin de una vista
que se puede representar dentro
de otra vista.

RedirectResult

Redirect

Redirecciona a otro mtodo de


accin utilizando su direccin URL.

RedirectToRouteResult

RedirectToAction
RedirectToRoute

Redirecciona a otro mtodo de


accin.

ContentResult

Content

Devuelve un tipo de contenido


definido por el usuario.

JsonResult

Json

Devuelve un objeto JSON


serializado.

JavaScriptResult

JavaScript

Devuelve un script que se puede


ejecutar en el cliente.

FileResult

File

Devuelve la salida binaria para


escribir en la respuesta.

EmptyResult

(Ninguno)

Representa un valor devuelto que


se utiliza si el mtodo de accin
debe devolver un
resultadonull(vaco).

invocan el metodo que esta en la capa de


controladores

ACCESO A
NEGOCIOS
(Business
Access
Layer):

Se crea como biblioteca de clases

Ejemplo:
Agregar(entidad){ contolador.add();}

@expresin: Renderiza la expresin en el


navegador.
@{ cdigo }: Permite ejecutar un cdigo
que no genera salida HTML.
@: indica explcitamente a Razor que lo que sigue es cdigo de
cliente (HTML):

RAZOR

@for (int i = 0; i < 10; i++)


{
@:El valor de i es: @i <br />
}

AppData: Guardar las BD de nuestros proyectos.


AppStart: Contiene archivos de configuracion
Content: Todos los estilos de CSS
Models: Clases de Modelo de negocios
Web.Config_: toda la configuracion de nuestro proyecto

Mapas de Rutas. Pueden tener 4 componentes:


name: nombre con que se identificara
url: es la que se escribe en la barra de direcciones
defaults: a cual controlador y accion se va a trasladar nuestra app si coincide con la url anterior
constrains
Ejemplo de una ruta:
routes.Maproute(
name: "pacientes",
url: "pacientes",
defaults: new { httpmethodconstraint(new string[] {GET}) }
);
Ruta parametrizada: (por eje ver detalles de un paciente)
routes.Maproute(
name: "ver_paciente",
url: "pacientes/{parametrodeURL}",
defaults: new {controller = "pacientes", action = "ver"},
constraints: new { httpmethod = New httpmethodconstraint(new string[] {"GET"}) }

Mapas de Rutas. Pueden tener 4 componentes:


name: nombre con que se identificara
url: es la que se escribe en la barra de direcciones
defaults: a cual controlador y accion se va a trasladar nuestra app si coincide con la url anterior
constrains

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id =
UrlParameter.Optional }
);

Ruta parametrizada: (por ejemplo ver detalles de un paciente)

routes.Maproute(
name: "ver_paciente",
url: "pacientes/{parametrodeURL}",
defaults: new {controller = "pacientes", action = "ver"},
constraints: new { httpmethod = New httpmethodconstraint(new string[] {"GET"}) }
);

EN EL CONTROLADOR...
public ActionResult ver(parametrodeURL)
{
viewbag.id = parametrodeURL;
return view();
}

//Lo tomo aqui para pasarlo a la vista

EN LA VISTA...
VER DETALLE DEL PACIENTE CON ID @parametrodeURL

1. CAPA DE DATOS
CREAR LA CONEXION: AGREGAR UNA CLASE. CON UN
METODO ESTATICO QUE CONTIENE LA CADENA DE CONEXION.
Va a dev una cadena: data source: instancia del servidor (ip
del servidor), Initial catalog: nombre bd, integrated security:
autenticacion (windows: sin user ni passw, y sql server: )
Public class conexion{
public static string obtenerconexion(){
string conexion = Data Source= ; Initial Catalog=CRUD; uid=sa;pwd=renee;
return conexion;
}
}

1. CAPA DE ENTIDADES
Crear la clase por cada entidad:
Public class entidad{
public int dato {get;set}
public string dato {get;set}

3. CAPA DE DATOS: crear los


mtodos
Using entidades

Obtener un listado de la bd (ya existe un PA):


Public class obtenerCategoria{
public list <BeCategoria> listadodecategoria(Boolean estado){
list <BeCategoria> lst= New list <BeCategoria> ();
sql connection cnn = New sql connection(conecion.obtenerconexion);
cnn.open();
//Ir al procedimiento almacenado
sqlcommand commando = New sqlcommand (nombreProcedAlmacenado,cnn);
//decir que se usara un pa
commando =.commandtype= commandtype.storedprocedure;
//Parametros
sqlparameter estado = new sqlparameter(@estado, estado);
//Enviarlo al procedimiento almacenado
command.parameters.Add(Pestado);
SQLDAtaReader dr = commando.Executereader();
}
}

4. APP START: Clase RouteConfig.cs


Defaults: new {controller = home, action=index, id=
urlparameter.optional}
Le indica a la app que busque un controlador con el nombre home, una accion
index dentro del controlador.

You might also like