Sei sulla pagina 1di 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

Potrebbero piacerti anche