0% encontró este documento útil (0 votos)
109 vistas14 páginas

MantenedorClienteForm EnCapas

Este documento describe la arquitectura en capas para un mantenedor de clientes. Incluye procedimientos almacenados para listar, insertar, buscar, editar e inhabilitar clientes. También define clases en las capas de entidad, acceso a datos y métodos para interactuar con la base de datos como listar, insertar, buscar y editar clientes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
109 vistas14 páginas

MantenedorClienteForm EnCapas

Este documento describe la arquitectura en capas para un mantenedor de clientes. Incluye procedimientos almacenados para listar, insertar, buscar, editar e inhabilitar clientes. También define clases en las capas de entidad, acceso a datos y métodos para interactuar con la base de datos como listar, insertar, buscar y editar clientes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

MantenedorCliente:CRUD : ARQUITECTURA EN CAPAS

Procedimientos Almacenados

Listar: spListaCliente
CREATE procedure [dbo].[spListaCliente]
As
Select idCliente, RazonSocial, Direccion, Ciudad, idTipoCliente, estCliente
from Cliente
where estCliente='1'

Insertar: spInsertarCliente
CREATE PROCEDURE [dbo].[spInsertarCliente]
( @prmstrRazonSocial varchar(50),
@prmstrDireccionCliente varchar(50),
@prmstrCiudad varchar(50),
@prmintidTipoCliente int,
@prmintidestCliente int
)
as
begin
insert into Cliente(RazonSocial,Direccion,Ciudad, idTipoCliente,estCliente)
values
( @prmstrRazonSocial,
@prmstrDireccionCliente,
@prmstrCiudad,
1
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

@prmintidTipoCliente,
@prmintidestCliente
)
end

Buscar: spBuscaridCliente

CREATE PROCEDURE [dbo].[spBuscaridCliente]


( @prmintidCliente int
)
as
Begin
Select idCliente,RazonSocial, Direccion, Ciudad, idTipoCliente,estCliente from Cliente
where idCliente = @prmintidCliente
end

Editar: spEditarCliente
CREATE PROCEDURE [dbo].[spEditarCliente]
( @prmintidCliente int,
@prmstrRazonSocial varchar(50),
@prmstrDireccionCliente varchar(50),
@prmstrCiudad varchar(50),
@prmintidTipoCliente int,
@prmbolidestCliente bit
)
as
--SET NOCOUNT Off
Begin
update Cliente Set
RazonSocial=@prmstrRazonSocial,
Direccion=@prmstrDireccionCliente,
Ciudad=@prmstrCiudad,
idTipoCliente=@prmintidTipoCliente,
estCliente= @prmbolidestCliente
where idCliente=@prmintidCliente
end

Inhabilitar: spInhabilitarCliente
CREATE PROCEDURE [dbo].[spInhabilitarCliente]
( @prmintidCliente int,
@prmbolidestCliente bit
)
as
Begin
update Cliente Set
estCliente= @prmbolidestCliente
where idCliente=@prmintidCliente
end

2
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

CapaEntidad:

entCliente.cs : CapaEntidad:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CapaEntidad
{
public class entCliente
{
public int idCliente { get; set; }
public String RazonSocial { get; set; }
public String Direccion { get; set; }
public String Ciudad { get; set; }
public int idTipoCliente { get; set; }
public Boolean estCliente { get; set; }
}
}

CapaAccesoDatos:

Conexion
using System.Data;
using System.Data.SqlClient;

namespace CapaAccesoDatos
{
public class Conexion
{
#region singleton
private static readonly Conexion _instancia = new Conexion();
public static Conexion Instancia
{
get { return Conexion._instancia; }
}
#endregion singleton

#region metodos
public SqlConnection conectar()
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=.; Initial Catalog = DBClientes;" +
//"User ID=sa; Password=123";
"Integrated Security=true";
return cn;
}
#endregion metodos
}
}

3
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

datCliente.cs: CapaAccesoDatos
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using CapaEntidad;

namespace CapaAccesoDatos
{
public class datCliente
{
#region singleton
private static readonly datCliente _instancia = new datCliente();
public static datCliente Instancia{
get { return datCliente._instancia; }
}
#endregion singleton

#region métodos

public List<entCliente> ListarCliente()


{
-----------------
}
public Boolean InsertarCliente(entCliente c)
{
}
public entCliente BuscarClienteId(int idCliente)
{
-----------------
}
public Boolean EditarCliente(entCliente Cli)
{
-----------------
}
public Boolean InhabilitarCliente(entCliente Cli)
{
-----------------
}
#endregion metodos
}
}

Instancia: CapaAccesoDatos
Instancia: CapaAccesoDatos
#region singleton
private static readonly datCliente _instancia = new datCliente();
public static datCliente Instancia{
get { return datCliente._instanci; }
}
#endregion singleton

4
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

Listado: CapaAccesoDatos

Listado: CapaAccesoDatos: ListarCliente()


public List<entCliente> ListarCliente(){
SqlCommand cmd = null;
List<entCliente> lista = new List<entCliente>();
try{SqlConnection cn = Conexion.Instancia.conectar();
cmd = new SqlCommand("spListaCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
entCliente Cli = new entCliente();
Cli.idCliente = Convert.ToInt16(dr["idCliente"]);
Cli.RazonSocial = dr["RazonSocial"].ToString();
Cli.Direccion = dr["Direccion"].ToString();
Cli.Ciudad = dr["Ciudad"].ToString();
Cli.idTipoCliente = Convert.ToInt16(dr["idTipoCliente"]);
Cli.estCliente = Convert.ToBoolean(dr["estCliente"]);
lista.Add(Cli);
}
}catch (Exception e){
throw e;
}
finally { cmd.Connection.Close(); }
return lista;
}
Insertar: CapaAccesoDatos

Insertar: CapaAccesoDatos: InsertarCliente(entCliente c)


public Boolean InsertarCliente(entCliente c)
{
SqlCommand cmd = null;
Boolean inserta = false;
try
{
SqlConnection cn = Conexion.Instancia.conectar();
cmd = new SqlCommand("spInsertarCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.AddWithValue("@prmintidCliente", c.IdCliente);
cmd.Parameters.AddWithValue("@prmstrxRazonSocial", c.RazonSocial);
cmd.Parameters.AddWithValue("@prmstrDireccionCliente", c.Direccion);
cmd.Parameters.AddWithValue("@prmstrCiudad", c.Ciudad);
cmd.Parameters.AddWithValue("@prmintidTipoCliente", c.idTipoCliente);
cmd.Parameters.AddWithValue("@prmintidestCliente", c.estCliente);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i > 0)
{ inserta = true; }
}
catch (Exception e)
{
throw e;
}
finally { cmd.Connection.Close(); }
return inserta;
}

5
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

Buscar: CapaAccesoDatos

Buscar: CapaAccesoDatos: BuscarClienteId(int idCliente)


public entCliente BuscarClienteId(int idCliente)
{
SqlCommand cmd = null;
entCliente Cli = new entCliente();
try
{ SqlConnection cn = Conexion.Instancia.conectar();
cmd = new SqlCommand("spBuscaridCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@prmintidCliente", idCliente);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{ Cli.idCliente = Convert.ToInt16(dr["idCliente"]);
Cli.RazonSocial = Convert.ToString(dr["RazonSocial"]);
Cli.Direccion = dr["Direccion"].ToString();
Cli.Ciudad = dr["Ciudad"].ToString();
Cli.idTipoCliente = Convert.ToInt16(dr["idTipoCliente"]);
Cli.estCliente = Convert.ToBoolean(dr["estCliente"]);
}
}

catch (Exception e)
{

throw e;
}
finally { cmd.Connection.Close(); }
return Cli;
}

Editar: CapaAccesoDatos

Editar: CapaAccesoDatos: EditarCliente(entCliente Cli)


public Boolean EditarCliente(entCliente Cli)
{ SqlCommand cmd = null;
Boolean Edito = false;
try
{ SqlConnection cn = Conexion.Instancia.conectar();
cmd = new SqlCommand("spEditarCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@prmintidCliente", Cli.idCliente);
cmd.Parameters.AddWithValue("@prmstrRazonSocial", Cli.RazonSocial);
cmd.Parameters.AddWithValue("@prmstrDireccionCliente", Cli.Direccion);
cmd.Parameters.AddWithValue("@prmstrCiudad", Cli.Ciudad);
cmd.Parameters.AddWithValue("@prmintidTipoCliente", Cli.idTipoCliente);
Console.Write("valor "+Cli.estCliente);
cmd.Parameters.AddWithValue("@prmbolidestCliente", Cli.estCliente ? true : false);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i>0)
{ Edito = true; }

6
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

}
catch (Exception e)
{ throw e;
}
finally { cmd.Connection.Close(); }
return Edito;
}

Inhabilitar: CapaAccesoDatos

Inhabilitar: CapaAccesoDatos: InhabilitarCliente(entCliente Cli)


public Boolean InhabilitarCliente(entCliente Cli)
{ SqlCommand cmd = null;
Boolean Inhabilitar = false;
try
{ SqlConnection cn = Conexion.Instancia.conectar();
cmd = new SqlCommand("spInhabilitarCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@prmintidCliente", Cli.idCliente);
cmd.Parameters.AddWithValue("@prmbolidestCliente", Cli.estCliente ? 1 : 0);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i > 0) { Inhabilitar = true; }
}
catch (Exception e) {
throw e; }
finally { cmd.Connection.Close(); }
return Inhabilitar; }

Capa Logica:
logCliente.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using CapaEntidad;
using CapaAccesoDatos;

namespace CapaLogicaNegocio
{
public class logCliente
{
#region singleton
------
#endregion singleton

#region metodos
public List<entCliente> ListarCliente()
{
-------------
}

public void InsertarCliente(entCliente c)


{
-------------
}
public entCliente BuscarClienteId(int idCliente)

7
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

{
-------------
}
public Boolean EditarCliente(entCliente Cli)
{
-------------
}
public Boolean InhabilitarCliente(entCliente Cli)
{
-------------
}
#endregion metodos

}
}

CapaLogica:

CapaLogica:Instancia
#region singleton
private static readonly logCliente _instancia = new logCliente();
public static logCliente Instancia
{
get { return logCliente._instancia; }
}
#endregion singleton

CapaLogica:

Listado: CapaLogica: ListarCliente()


public List<entCliente> ListarCliente()
{
try
{
return datCliente.Instancia.ListarCliente();
}
catch (Exception e)
{
throw e;
}
}

CapaLogica:

Insertar: CapaLogica: InsertarCliente(entCliente c)


public void InsertarCliente(entCliente c)
{
try
{
datCliente.Instancia.InsertarCliente(c);
}
catch (Exception e)
{ throw e; }
}

8
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

CapaLogica:

Buscar: CapaLogica: BuscarClienteId(int idCliente)


public entCliente BuscarClienteId(int idCliente)
{
try
{
return datCliente.Instancia.BuscarClienteId(idCliente);
}
catch (Exception e) { throw e; }
}

CapaLogica:

Edita: CapaLogica: EditarCliente(entCliente Cli)


public Boolean EditarCliente(entCliente Cli)
{
try
{
return datCliente.Instancia.EditarCliente(Cli);
}
catch (Exception e) { throw e; }
}

CapaLogica:

public Boolean InhabilitarCliente(entCliente Cli)


{
try
{
return datCliente.Instancia.InhabilitarCliente(Cli);
}
catch (Exception e) { throw e; }
}

CapaPresentacion:

9
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

using System;
------
using CapaEntidad;
using CapaLogicaNegocio;
namespace MantenedorClientes
{
public partial class MantenedorGridCliente : Form
{
public MantenedorGridCliente()
{
InitializeComponent();
ListarCliente();
}
public List<entCliente> ListarCliente()
{
List<entCliente> listaCliente = logCliente.Instancia.ListarCliente();
if (listaCliente.Count > 0) // para verificar si existen filas
{
tablaClientes.Columns.Clear();
// se eliminan todas las columnas existentes del DataGridView antes de mostrar el resultado de la
consulta
BindingSource datosEnlazados = new BindingSource();
// objeto para vincular el resultado de la consulta al DataGridView
datosEnlazados.DataSource = listaCliente;
tablaClientes.DataSource = datosEnlazados;
// se vincula el resultado de la consulta al DataGridView y se mostran los registros
tablaClientes.Rows[0].Selected = false;
// permite que la primera fila del DataGridView no esté seleccionada
}
return (listaCliente);
}
private void configurarColumnasDataGridView()
{
DataGridViewColumn columna0, columna1, columna2, columna3, columna4; // objetos columna
// modificar los encabezados de columnas de la tabla
columna0 = tablaClientes.Columns[0]; // se recupera la columna Id
columna0.Visible = false; // se oculta la columna
columna1 = tablaClientes.Columns[1]; // se recupera la columna idCliente
columna1.HeaderText = "idCliente"; // se asigna el encabezado de columna
columna1.Width = 200; // se asigna el ancho de la columna
columna2 = tablaClientes.Columns[2];
columna2.HeaderText = "RazonSocial";
columna2.Width = 80;
columna3 = tablaClientes.Columns[3];
columna3.HeaderText = "Dirección";
columna3.Width = 200;
columna4 = tablaClientes.Columns[4];
columna4.HeaderText = "Ciudad";
columna4.Width = 200;
10
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

}
private void Insertar_Click(object sender, EventArgs e)
{
FormDatosCliente formCliente = new FormDatosCliente();
formCliente.ShowDialog();
}

private void Salir_Click(object sender, EventArgs e)


{
Close();
}
private void btnEditar_Click(object sender, EventArgs e)
{
entCliente Cli = new entCliente();

int idCliente;
DataGridViewRow fila = tablaClientes.CurrentRow;
// se obtine la fila que contiene la celda actual

if (fila != null) // verifica que exista una fila seleccionada


{
idCliente = int.Parse(fila.Cells[0].Value.ToString());
// se obtiene el valor de una celda
entCliente C = logCliente.Instancia.BuscarClienteId(idCliente);
if (C!= null)
{
FormDatosCliente formDatosCliente = new FormDatosCliente(C);
formDatosCliente.ShowDialog();
}
else
MessageBox.Show("El cliente no existe, verifique.", "Cliente: Advertencia",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
MessageBox.Show("Seleccione cliente.", "cc: Advertencia", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}

private void Inhabilitar_Click(object sender, EventArgs e)


{

entCliente Cli = new entCliente();


int idCliente;
DataGridViewRow fila = tablaClientes.CurrentRow;
if (fila != null)
{
idCliente = int.Parse(fila.Cells[0].Value.ToString());
entCliente C = logCliente.Instancia.BuscarClienteId(idCliente);
if (C != null)
{

FormDatosCliente formDatosCliente = new FormDatosCliente(C);


formDatosCliente.ShowDialog();

}
else
MessageBox.Show("El cliente no existe, verifique.", "Cliente: Advertencia",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
MessageBox.Show("Seleccione cliente.", "cc: Advertencia", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
11
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

}
}
}
}

using System;
--------------------
using CapaEntidad;
using CapaLogicaNegocio;
using MantenedorClientes;

12
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

namespace MantenedorClientes
{
public partial class FormDatosCliente : Form
{
entCliente Cliente;
private const int NUEVO = 1;
private const int EDITAR = 2;
private int tipoAccion;

public FormDatosCliente()
{
InitializeComponent();
this.Cliente =new entCliente();
tipoAccion = NUEVO;

}
public FormDatosCliente(entCliente Cliente)
{
InitializeComponent();
txtidCliente.Text = Convert.ToString(Cliente.idCliente);
txtidCliente.Enabled = false;
txtRazonSocial.Text = Convert.ToString(Cliente.RazonSocial);
txtDireccion.Text = Convert.ToString(Cliente.Direccion);
txtCiudad.Text = Convert.ToString(Cliente.Ciudad);
txtTipoCliente.Text=Convert.ToString(Cliente.idTipoCliente);
cbkEstado.Checked = Convert.ToBoolean(Cliente.estCliente);
tipoAccion = EDITAR;
}

public void btnGrabar_Click(object sender, EventArgs e)


{
try
{
//Boolean inserta;
entCliente c = new entCliente();
MantenedorGridCliente formGridCliente = new MantenedorGridCliente();
c.idCliente = int.Parse(txtidCliente.Text);
c.RazonSocial=txtRazonSocial.Text.Trim();
c.Direccion=txtDireccion.Text.Trim();
c.Ciudad = txtCiudad.Text.Trim();
c.idTipoCliente = int.Parse(txtTipoCliente.Text);
c.estCliente = cbkEstado.Checked;
if (tipoAccion == NUEVO)
{
logCliente.Instancia.InsertarCliente(c);
}
if(tipoAccion==EDITAR)
{
logCliente.Instancia.EditarCliente(c);
}
else
{
logCliente.Instancia.InhabilitarCliente(c);
}
Close();
ActualizarGrid();
}
catch (Exception ex)
{
throw ex;
}
}

private void btnCancelar_Click(object sender, EventArgs e)


{
Close();
13
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya
UPN Trujillo: MOANSO: ARQUITECTURA CAPAS – MantenedorCliente_________________________

}
private void ActualizarGrid()
{
MantenedorGridCliente formGridCliente =
Application.OpenForms.OfType<MantenedorGridCliente>().FirstOrDefault();

if (formGridCliente != null) //Si encuentra una instancia abierta


{
formGridCliente.ListarCliente();
formGridCliente.Refresh();
}
}
}
}

14
________________________________________________Docente del Curso: Moanso - Lourdes Roxana Diaz Amaya

También podría gustarte