ProgramaciĆ³n, TecnologĆ­a y MĆ”s...

ProgramaciĆ³n, TecnologĆ­a y MĆ”s...

Desarrollo en Capas .Net (Parte 4) - Capa Presentacion

En el articulo anterior desarrollamos nuestra capa de negocio

 Pueden ver el articulo aquĆ­ Desarrollo en Capas .Net (Parte 3) - Capa de Negocio

La capa presentaciĆ³n(presentation) es la que ve el usuario (tambiĆ©n se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informaciĆ³n y captura la informaciĆ³n del usuario en un mĆ­nimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato).

En este ultimo articulo es donde veremos como se comunican las diferentes capas entre si.

capas


DiseƱo de la aplicaciĆ³n.

DiseƱo


Cargar Alumnos y Materias.
 
        //cargo alumnos en combobox
        private void CargarAlumnos()
        {
            cbxalumnos.DataSource = AlumnoBL.CargarAlumnos();
            cbxalumnos.ValueMember = "AluId";
            cbxalumnos.DisplayMember = "AluNombre";
        }

        private void FrmAlumno_Load(object sender, EventArgs e)
        {
            CargarAlumnos();

            //cargo materias en combobox
            cbxmaterias.DataSource = MateriaBL.CargarMaterias();
            cbxmaterias.ValueMember = "MatId";
            cbxmaterias.DisplayMember = "MatNombre";

        }
Tenemos un mĆ©todo CargarAlumnos() que lo que hace es cargos el nombre de todos los alumnos en un combobox este mĆ©todo lo llamaremos luego de actualizar o agregar un nuevo alumno para que los datos del combobox se actualicen y en el evento load del formulario tambiĆ©n cargamos todas las materias en otro combobox.

Agregar o Actualizar Alumno.
 
       //Variable global que prepresenta al alumno seleccionado
       Alumno alum = null;

        private void btnguardar_Click(object sender, EventArgs e)
        {
            //compruebo las validaciones
            if (!ValidacionesAlumno())
                return;

            // si el cliente se ha seleccionado lo actualizo, sino se crea uno nuevo
            if(alum == null)
                alum = new Alumno();

            alum.AluNombre = txtnombre.Text;
            alum.AluApellido = txtapellido.Text;
            alum.AluEdad = Convert.ToInt16(txtedad.Text);
            alum.AluDireccion = txtdireccion.Text;

            alum = AlumnoBL.Save(alum);
            MessageBox.Show("Se agrego o Actulizo el Alumno con Id:" +alum.AluId);
            CargarAlumnos();
            Limpiar();
        }
Tenemos una variable global que representa un alumno, luego la capa de negocio validad si la entidad(Alumno) existe o no por medio del id y en base a esto se ejecuta la operaciĆ³n correspondiente a cada caso, tambiĆ©n en el cĆ³digo encontramos los mĆ©todos ValidacionesAlumno() que lo que hace es validar que los datos de la entidad Alumno sean los correctos, CargarAlumnos() luego de agregar o actualizar un alumno vuelve a cargar los alumnos y Limpiar() que limpia los datos de los textbox.

Agregar Nota.
 
        private void btnguardarnota_Click(object sender, EventArgs e)
        {
            //compruebo las validaciones
            if (!ValidacionesNotas())
                return;

            //creo una nota nueva
            Nota not = new Nota();
            not.AluId = Convert.ToInt32(cbxalumnos.SelectedValue);
            not.MatId = Convert.ToInt32(cbxmaterias.SelectedValue);
            not.NotNota = Convert.ToDecimal(txtnota.Text);

            //si nota para la materia no existe se crea si no muestra mensaje que ya existe
            if (!NotaBL.CreateNota(not))
            {
                MessageBox.Show("Se agrego la Nota con Id:" + not.NotId);
                Limpiar();
            }
            else
                MessageBox.Show("Ya Existe una Nota del Alumno para la Materia:" + cbxmaterias.Text);
        }
La capa de negocio se encarga de validar si ya existe una nota para una materia de un alumno si no existe la agrega y si existe muestra un mensaje que ya existe una nota para la materia, dentro del codigo encontramos los metodos ValidacionesNotas() que lo que hace que los datos para agregar una nota sean correctos y Limpiar() limpia los datos de los textbox.

Editar Notas.
 
        //variable global de entidad nota
        Nota not = new Nota();

        private void btnguardar_Click(object sender, EventArgs e)
        {
            //compruebo validaciones
            if (!ValidacionesNota())
                return;

            not.NotId = Convert.ToInt32(txtidnota.Text);
            not.AluId = Convert.ToInt32(txtidalumno.Text);
            not.MatId = Convert.ToInt32(txtidmateria.Text);
            not.NotNota = Convert.ToDecimal(txtnota.Text);

            //si nota existe la actualizo
            if (NotaBL.UpdateNota(not))
            {
                MessageBox.Show("Se actualizo la nota con Id:" + not.NotId);
                CargarGrilla();
                Limpiar();
            }
            else
                MessageBox.Show("No se pudo actualizar la nota");           
        }
La capa de negocio se encarga de validar si la nota existe por medio del id, si existe actualiza el registro si no muestra mensaje que no se puede actualizar, en el cĆ³digo encontramos los mĆ©todos ValidacionesNota() valida que los datos para agregar una nota sean correctos, CargarGrilla() carga todas las notas de un alumno en un datagridview y Limpiar() limpia los datos de los textbox.

Capturas


ConclusiĆ³n
A lo largo de los 4 artĆ­culos hemos visto como desarrollar un proyecto en capas en .net usando entity framework, si bien el ejemplo puede ser un poco sencillo pero puede servir de guĆ­a o ejemplo para nuestros futuros desarrollos.

Descargar Proyecto C#

Descargar Proyecto VB.Net

Si quieren donarme para una soda lo pueden hacer aqui.


Publicar un comentario

0 Comentarios