You are on page 1of 11

Desarrollo en N Capas

Ing. Alberto Mendoza De los Santos



Arquitectura de N Capas
Arquitectura de N Capas
Presentacin
Capa de
Negocios
Capa de Acceso
a Datos
frmPersona
frmBuscar.cs
PersonaBL.cs
Persona.cs
Reglas de Negocio
Entidades
PersonaDAL.cs
Arquitectura de N Capas en C#
Arquitectura de N Capas en C#
Arquitectura de N Capas: Presentacin
A a de
~ ~ ~ ~ ~ ~ ~ ~ W W ~ ~ r m s ;
using Entidades;
using ReglasNegocio;
namespace Presentacion
{
public partial class Forml : Form
{
public Forml O
{
lnitializeComponentO;
}
public void Limpia rO
{
}
foreach (Control ctl in this.Controls]
{
}
if (cti.GetTypeO.IsAssignableFrom[typeof[TextBox]]]
{
([T extB ox] ctl]. Res etT extO;
}
prvate void btnlngresar_Ciick(object sender. EventArgs e]
{
}
Persona entidad = new PersonaD;
entidad.Apellidos = txtApellidos.Text
entidad.Direccion = txtDireccion.Text
entidad.FecNacimiento = dtpFecNacimiento.Value;
entidad.Nombre = txtNombre.Text
entidad.NroHijos = Convert.Tolnt32[txtNroHijos.Text);
entidad.ldTipoPersona = Convert.Tolnt32[txtTipoPersona.Text);
PersonaBL bl = new PersonaBLO;
if (bi.Grabar[entidad]]
{
}
MessageBox.Showrse guardo correctamente'1;
txtCodigo.Text = entidad.ld.ToStringO;
taCIOn
prvate void btnActualizar_ Click(object sen der. EventArgs e]
{
}
Persona entidad = new PersonaD;
entidad.ld = Convert.Tolnt32[txtCodigo.Text);
entidad.Apellidos = txtApellidos.Text
entidad.Direccion = txtDireccion.Text
entidad.FecNacimiento = dtpFecNacimiento.Value;
entidad.Nombre = txtNombre.Text
entidad.NroHijos = Convert.Tolnt32[txtNroHijos.Text);
entidad.ldTipoPersona = Convert.Tolnt32(txtTipoPersona.Text);
PersonaBL bl = new PersonaBLO;
if (bi.Actualizar[entidad]]
MessageBox.Showrse actualizo correctamente'1;
prvate void btnEiiminar_Ciick[object sender. EventArgs e]
{
}
Persona entidad = new PersonaD;
entidad.ld = Convert.Tolnt32[txtCodigo.Text);
PersonaBL bl = new PersonaBLO;
if (bi.Eiiminar[entidad]]
MessageBox.Showf'Se elimino correctamente'1;
prvate void btnBuscar_Ciick(object sender. EventArgs e)
{
}
frmBuscar frm = new frmBuscarO;
if (frm.ShowDialogO == DialogResult.OKJI
{
}
txtCodigo.Text = frm.PersonaSeleccionada.ld.ToStringO;
txtApellidos.Text = frm.PersonaSeleccionada.Apellidos;
txtDireccion.Text = frm.PersonaSeleccionada.Direccion;
txtNroHijos.Text = frm.PersonaSeleccionada.NroHijos.ToStringO;
txtNombre.Text = frm.PersonaSeleccionada.Nombre;
dtpFecNacimiento.Value = frm.PersonaSeleccionada.FecNacimiento;
txtTipoPersona.Text = frm.PersonaSeleccionada.ldTipoPersona.ToStringO;
Arquitectura de N Capas: Entidades Aq 1tect ra de
using System.Text;
namespace Entidades
{
public class Persona
{
private String _apellidos;
private String _direccion;
private Datelime _fecNacimiento;
private int _id;
private String _nombre;
private int _nroHijos;
private lnt32 _idTipoPersona;
public lnt32 ldTipoPersona
{
}
get { return _idTipoPersona; }
set { _idTipoPersona = value;}
public String Apellidos
{
}
get { return _apellidos;}
set {_apellidos= value;}
public String Direccion
{
}
get { return _direccion; }
set { _direccion = value;}
public DateTime FecNacimiento
{
}
get { return _fecNacimiento; }
set { _fecNacimiento = value; }
}
Capa
}
public int Id
{
}
get { return _id;}
set {_id = value; }
public String Nombre
{
}
get { return _nombre; }
set { _ nombre = value;}
public int NroHijos
{
}
get { return _nroHijos;}
set { _ nroHijos = value; }
a es
Arquitectura de N Capas: Business Logic A qu1tec ura e N Capas: Bus1ness Log e
using System;
using System.Collections.Generic;
using System.Linq;
usin!1 System.Text
usmg Entidades; 1
usmg ualaAccess,
namespace ReglasNegocio
{
public class PersonaBL
{
ll }
public Boolean Grabar[Persona entidad)
{
}
//Validacion o formula
PersonaDAL dal = new PersonaDALO;
re tu rn da l. Guardar( entidad);
public Boolean Actualizar[Persona entidad)
{
}
PersonaDAL dal = new PersonaDALO;
return dai.Actualizar[entidad);
public Boolean Eliminar[Persona entidad)
{
}
PersonaDAL dal = new PersonaDALO;
return dai.Eiiminar[entidad);
public List<Persona> Buscar[string _apellido)
{
}
PersonaDAL dal = new PersonaDALO;
return dai.BuscarLapellido);
Arquitectura de N Capas: Data Access Logic A qu1tec ura e N Capas: Da a Access Log1c
using System;
u sin g Syste m. C o 11 e cti o n s. Gen e ri e;
using System.Linq;
nsinn
usina Entidades; 1
using System.Oata;
using System.Oata.Common;
using System.Oata.SqiCiient
namespace OataAccess
{
public class PersonaOAL
{
public Boolean Guardar(Persona entidad)
{
}
SqiConnection con = new SqiConnection[Properties.Settings.Oefault.Conexion);
SqiCommand cmd = new SqiCommandr'Persona_lnsertar_pa". con);
cmd.CommandType = CommandType.StoredProcedure;
SqiParameter paramld = new SqiParameterr 'ld". SqiObType.lnt 8);
paramld.Oirection = ParameterOirection.Output
cmd.Parameters.Add(paramld);
cmd.Parameters.AddWithValuer'Nombre''. entidad.Nombre);
cmd.Parameters.AddWithValuer'Apellidos''. entidad.Apellidos);
cm d .Pa ram e te rs .Ad dWith Val u e r 'O i re cci o n''. entidad. O i re cci o n );
cmd.Parameters.AddWithValuer'FecNacimiento''. entidad.FecNacimiento);
cmd.Parameters.AddWithValuer'NroHijos''. entidad.NroHijos);
cmd.Parameters.AddWithValuer'ldTipoPersona''.
entidad.ldTipoPersona);
con.OpenO;
cmd.ExecuteNonOueryO;
con.CioseO;
entidad.ld = (int)paramld.Value;
return true;
Arquitectura de N Capas: Data Access Logic
Arquitectura de N Capas: Data Access Logic
}
}
cmd.Parameters.AddWithValuer'ld'', entidad.ld);
con.OpenO;
cmd.Exe cut e N o nO ueryO;
con.CioseO;
return true;
}
public List<Persona> Buscar[String apellidos)
{
}
SqiConnection con = new SqiConnection[Properties.Settings.Default.Conexion);
SqiCommand cmd = new SqiCommandr'Persona_Buscar_pa", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValuer'Apellidos'', apellidos);
con.OpenO;
List<Persona> coleccion = new List<Persona>O;
SqiDataReader dr = cmd.ExecuteReaderO;
while (dr.ReadOJ
{
}
Persona obj = new PersonaD;
obj.ld = [int)drr'ld'1;
obj.Nombre = drr'Nombre'1-ToStringO;
obj.Apellidos = drr'Apellidos'1-ToStringO;
obj.Direccion = drr'Direccion'1-ToStringO;
obj.NroHijos = Convert.Tolnt32(drr'NroHijos'1-ToStringOJ;
obj.FecNacimiento = (DateTime)drr'FecNacimiento'1;
obj.ldTipoPersona = [int)drr 'ldTipoPersona'1;
coleccion.Add(obj);
con.CioseO;
return coleccion;

You might also like