Está en la página 1de 30

Programación

de la
aplicación en
capas con c#
Lic. David I. López Pérez
Actividades de la
presentación
• Codificación de la aplicación
• Capa de datos
• Capa de Negocio
• Capa de presentación

Docente. Lic. David I. López Pérez 2


Creación de la clase conexion.(CapaDatos)
Clic derecho
Clic en
sobre la capa Clase.
Agregar
Datos

Docente. Lic. David I. López Pérez 3


Clase CD_conexion

Docente. Lic. David I. López Pérez 4


Clase CD_Departamentos
Función para llamar al procedimiento
almacenado de nombre SP_MOSTRAR_DEP
Agregaremos un datagridview para mostrar
esta función.

Docente. Lic. David I. López Pérez 5


Clase CD_Departamentos - función insertar datos

Docente. Lic. David I. López Pérez 6


Clase CD_Departamentos - función Actualizar datos

Docente. Lic. David I. López Pérez 7


Clase CD_Departamentos - función Eliminar datos

Docente. Lic. David I. López Pérez 8


Clase CD_Departamentos completa
using System.Data; //Funcion para actualizar los datos a la tabla Departamento
using System.Data.SqlClient; public void Actualizar(int Depno, string Dnombre, string Localidad)
{
namespace CapaDatos comando.Connection = conexion.AbrirConexion();
{ comando.CommandText = "SP_ACTUALIZAR_DEP";
public class CD_Departamentos comando.CommandType = CommandType.StoredProcedure;
{ comando.Parameters.AddWithValue("@Depno", Depno);
private CD_conexion conexion = new CD_conexion(); comando.Parameters.AddWithValue("@Dnombre", Dnombre);
SqlDataReader leer; comando.Parameters.AddWithValue("@Localidad", Localidad);
DataTable tabla = new DataTable(); comando.ExecuteNonQuery();
SqlCommand comando = new SqlCommand(); comando.Parameters.Clear();
public DataTable Mostrar() conexion.CerrarConexion();
{ }//fin de la funcion actualizar datos.
comando.Connection = conexion.AbrirConexion();
comando.CommandText = "SP_MOSTRAR_DEP"; //Funcion para eliminar los datos a la tabla Departamento
comando.CommandType = CommandType.StoredProcedure; public void Eliminar(int Depno)
leer = comando.ExecuteReader(); {
tabla.Load(leer); comando.Connection = conexion.AbrirConexion();
conexion.CerrarConexion(); comando.CommandText = "SP_ELIMINAR_DEP";
return tabla; comando.CommandType = CommandType.StoredProcedure;
} comando.Parameters.AddWithValue("@Depno", Depno);
comando.ExecuteNonQuery();
//Funcion para ingresar los datos a la tabla Departamento comando.Parameters.Clear();
public void Agregar(string Dnombre, string Localidad) conexion.CerrarConexion();
{ }//fin de la funcion eliminar datos
comando.Connection = conexion.AbrirConexion(); }
comando.CommandText = "SP_AGREGAR_DEP"; }
comando.CommandType = CommandType.StoredProcedure;
comando.Parameters.AddWithValue("@Dnombre", Dnombre);
comando.Parameters.AddWithValue("@Localidad", Localidad);
comando.ExecuteNonQuery();
comando.Parameters.Clear();
conexion.CerrarConexion();
} //fin de la funcion agregar datos.

Docente. Lic. David I. López Pérez 9


Clase CD_Empleados
Función para llamar al procedimiento
almacenado de nombre SP_MOSTRAR_EMP
Agregaremos un datagridview para mostrar
esta función.

Docente. Lic. David I. López Pérez 10


Clase CN_Departamentos

Docente. Lic. David I. López Pérez 11


Clase CN_Departamentos- Funcion Agregar, Actualizar y eliminar

Docente. Lic. David I. López Pérez 12


Clase CN_Departamentos completa
using System.Data;
using CapaDatos;

namespace CapaNegocio
{
public class CN_Departamentos
{
private CD_Departamentos objetoCD = new CD_Departamentos();
public DataTable MostrarDep()
{
DataTable tabla = new DataTable();
tabla = objetoCD.Mostrar();
return tabla;
}

//Funcion Agregar Departamento


public void AgregarDep(string Dnombre, string Localidad)
{
objetoCD.Agregar(Dnombre, Localidad);
}

//Funcion Actualizar Departamento


public void ActualizarDep(int Depno,string Dnombre, string Localidad)
{
objetoCD.Actualizar(Convert.ToInt32(Depno),Dnombre, Localidad);
}

//Funcion Eliminar Departamento


public void EliminarDep(int Depno)
{
objetoCD.Eliminar(Convert.ToInt32(Depno));

}
}
}

Docente. Lic. David I. López Pérez 13


Clase CN_Empleados

Docente. Lic. David I. López Pérez 14


Modificar el formulario Departamento para mostrar
los datos en un datagridview.

Groupbox.

DatagridView(dgvDatos)

Docente. Lic. David I. López Pérez 15


Realizar la siguiente programación en el evento Load
del formulario + Función cargar.

Docente. Lic. David I. López Pérez 16


Realizar la siguiente programación objeto.

Docente. Lic. David I. López Pérez 17


Realizar la siguiente programación botones. Guardar

btnGuardar
btnActualizar
btnEliminar

Docente. Lic. David I. López Pérez 18


Realizar la siguiente programación botones. Actualizar

btnGuardar
btnActualizar
btnEliminar

Docente. Lic. David I. López Pérez 19


Realizar la siguiente programación Evento CellClick
DataGridView

btnGuardar
btnActualizar
btnEliminar

Docente. Lic. David I. López Pérez 20


Realizar la siguiente programación botones. Eliminar

btnGuardar
btnActualizar
btnEliminar

Docente. Lic. David I. López Pérez 21


FrmDepartamentos completa
using CapaNegocio;

namespace CapaPresentacion
{
public partial class FrmDepartamento : Form
{
//Creacion del objeto a conectar con la capa negocio de la tabla
Departamentos.
CN_Departamentos objetoCN = new CN_Departamentos();
private string Depno = null;
private bool Editar = false;

public FrmDepartamento()
{
InitializeComponent();
}

private void FrmDepartamento_Load(object sender, EventArgs e)


{
MostrarDepartamentos();
}

private void MostrarDepartamentos()


{
CN_Departamentos objeto = new CN_Departamentos();
dgvDatos.DataSource = objeto.MostrarDep();
}

Docente. Lic. David I. López Pérez 22


FrmDepartamentos completa
//Boton guardar datos.
private void btnGuardar_Click(object sender, EventArgs e)
{
if (Editar == false)
{
try
{
objetoCN.AgregarDep(txtDnombre.Text, txtLocalidad.Text);
MessageBox.Show("Datos ingresados correctamente");
MostrarDepartamentos();

}
catch (Exception ex)
{
MessageBox.Show("no se pudo agregar los datos por: " + ex);
}
}
}

private void btnActualizar_Click(object sender, EventArgs e)


{
if (Editar == true)
{
try
{
objetoCN.ActualizarDep(Convert.ToInt32(txtDepno.Text),txtDnombre.Text, txtLocalidad.Text);
MessageBox.Show("Datos Actualizados Correctamente");
MostrarDepartamentos();
Editar = false;
}
catch (Exception ex)
{
MessageBox.Show("No se pudo actualizar los datos por: " + ex);
}
}

Docente. Lic. David I. López Pérez 23


FrmDepartamentos completa
private void dgvDatos_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvDatos.SelectedRows.Count > 0)
{
Editar = true;
txtDepno.Text = dgvDatos.CurrentRow.Cells["Depno"].Value.ToString();
txtDnombre.Text = dgvDatos.CurrentRow.Cells["Dnombre"].Value.ToString();
txtLocalidad.Text = dgvDatos.CurrentRow.Cells["Localidad"].Value.ToString();
}
else
MessageBox.Show("seleccione una fila por favor");

private void btnEliminar_Click(object sender, EventArgs e)


{
if (dgvDatos.SelectedRows.Count > 0)
{
Depno = dgvDatos.CurrentRow.Cells["Depno"].Value.ToString();
objetoCN.EliminarDep(Convert.ToInt32(Depno));
MessageBox.Show("Eliminado correctamente");
MostrarDepartamentos();
}
else
MessageBox.Show("seleccione una fila por favor");

}
}
}

Docente. Lic. David I. López Pérez 24


Modificar el formulario Empleados para mostrar los
datos en un datagridview.

Groupbox.

DatagridView
(dgvDatos)

Docente. Lic. David I. López Pérez 25


Realizar la siguiente programación en el evento Load
del formulario + Función cargar.

Docente. Lic. David I. López Pérez 26


Realizar la siguiente programación

Docente. Lic. David I. López Pérez 27


Estructura de la solución creada.

Docente. Lic. David I. López Pérez 28


Tarea.

Realizar la programación
de los formularios
Empleados,Clientes,
Productos, Pedidos.

Docente. Lic. David I. López Pérez


Fin de la presentación

También podría gustarte