_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 2 / 14
3.- Luego de esto seleccionaremos el tipo de Proyecto, eligiendo Visual C#, Windows y
como plantilla Aplicación para Windows (Windows Application), dándole el nombre de
LibNet_Presentacion, tal como se muestra a continuación:
4.- Siguiendo este mismo proceso agregaremos los 2 proyectos faltantes pero de tipo
Librería de Clases (Class Library) para la Capa de Negocio y la capa de Datos a los cuales
los denominaremos LibNet_Business y LibNet_Data respectivamente.
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 3 / 14
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 4 / 14
6.- Luego de esto vamos a renombrar los archivos de clases creados de manera
predeterminada:
En el proyecto: LibNet_Data
En el proyecto: LibNet_Business
En el proyecto: LibNet_Presentacion
7.- Ahora procederemos a escribir el codigo necesario que permita conectar y utilizar los
procedimientos almacenados en el servidor de base de datos, para lo cual ingresaremos al
codigo de la clase Cls_DBCliente.cs y lo primero que tenemos que ingresar es el codigo que
permita acceder a los componentes de acceso a datos:
using System.Data;
using System.Data.SqlClient;
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 5 / 14
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace LibNet_Data
{
public class Cls_DBCliente
{
const string CadCn = "Server=(local)\\sqlexpress;Database=BDVIDEOS;" +
"Integrated Security=yes";
SqlConnection Cn = new SqlConnection(CadCn);
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 6 / 14
oCmd.Parameters.AddWithValue("@CLI_CODIGO", Codigo);
oCmd.Parameters.AddWithValue("@CLI_NOMBRE", Nombre);
oCmd.Parameters.AddWithValue("@CLI_RUC", RUC);
oCmd.Parameters.Add("@CLI_TELEFONO", SqlDbType.VarChar, 11).Value =
Telefono;
oCmd.Parameters.Add("@CLI_ESTADO", SqlDbType.Bit).Value = Estado;
int n;
n = Convert.ToInt32(oCmd.ExecuteNonQuery());
CerrarConexion();
return n;
}
catch
{
throw new Exception("Error de ClsDatos.AgregarCliente");
}
}
int n;
n = Convert.ToInt32(oCmd.ExecuteNonQuery());
CerrarConexion();
return n;
}
catch
{
throw new Exception("Error de ClsDatos.EliminarCliente");
}
}
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 7 / 14
9.- Ahora antes de ingresar el codigo necesario en nuestra capa de negocio, lo primero que
tenemos que hacer es establecer la referencia desde el proyecto LibNet_Business con el
Proyecto LibNet_Data, para lo cual realizaremos lo siguiente:
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 8 / 14
10.- Ahora si ingresaremos el codigo que nos permita comunicarnos con nuestra capa de
datos desde nuestra capa de negocio, asi es que lo primero que haremos es crear una
variable de tipo LibNet_Data.Cls_DBCliente para que atraves de ella obtener los metodos
(Funciones, procedimientos, etc) de la capa de datos.
No olvidar que tambien aqui deberemos utilizar los objetos de acceso a datos.
using System.Data;
using System.Data.SqlClient;
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace LibNet_Business
{
public class Cls_BCliente
{
LibNet_Data.Cls_DBCliente objData = new LibNet_Data.Cls_DBCliente();
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 9 / 14
12.- Por ultimo nos queda la parte del diseño de nuestra capa de presentación, no olvidar
que esta capa se debe comunicar con nuestra capa de negocio, por lo cual esta capa
necesitara de una referencia con LibNet_Business, así es que deberá realizar antes esta
referencia.
6 Labels (Etiquetas)
1 TextBox (Caja de Texto)
2 MaskedTextBox
1 CheckBox
1 DataGridView
1 ToolStrip
TextBox1 Text “”
Name TxtNombre
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 10 / 14
ToolStrip Items
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 11 / 14
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LibNet_Presentacion
{
public partial class Frm_Mant_Cliente : Form
{
public Frm_Mant_Cliente()
{ InitializeComponent();
}
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 12 / 14
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 13 / 14
TxtNombre.Text = Fila[1].ToString();
mskRUC.Text = Fila[2].ToString();
mskTelefono.Text = Fila[3].ToString();
chkEstado.Checked = Convert.ToBoolean(Fila[4].ToString());
break;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
_______________________________________________________________________________
Taller de N-Capas
Mantenimiento de Clientes en 3 Capas Pag: 14 / 14
namespace LibNet_Presentacion
{
public class Cls_Utiles
{
public void LimpiarTextos2(Form frm)
{
// Limpiando los Controles dentro del Formulario
foreach (Control x in frm.Controls)
{
if (x is TextBox) x.Text = "";
if (x.GetType().ToString() == "System.Windows.Forms.CheckBox")
{
CheckBox chk = (CheckBox)x;
chk.Checked = false;
}
if (x.GetType().ToString() == "System.Windows.Forms.MaskedTextBox")
{
MaskedTextBox msk = (MaskedTextBox)x;
msk.Text = "";
}
if (x.GetType().ToString() == "System.Windows.Forms.ComboBox")
{
ComboBox cbo = (ComboBox)x;
cbo.SelectedIndex = -1;
}
}
}
}
}
_______________________________________________________________________________
Taller de N-Capas