Desarrollo en Capas .Net (Parte 3) - Capa de Negocio

jueves, 25 de octubre de 2012

En el articulo anterior desarrollamos nuestra capa de datos.

 Pueden ver el articulo aquí. Desarrollo en Capas .Net (Parte 2) - Capa de Datos

La capa de negocio(BussinesLayer) se comunicara con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos  para almacenar o recuperar datos de la base de datos.

Algo que seguro a mas de uno les traerá molestias de esta capa de negocio sera que la mayoría de las operaciones  serán un pasamano, ya que esta retorna las operaciones de la capa de datos y las devolverá en la capa de presentación, pero no siempre sera así en otros casos se vera la importancia de esta capa sobre todo en aplicaciones complejas.

Empecemos agregando una clase llamada AlumnoBL.
    public class AlumnoBL
    {
        public static List<Alumno> CargarAlumnos()
        {
            return AlumnoDAL.CargarAlumnos();
        }

        public static Alumno IdAlumno(int id)
        {
            return AlumnoDAL.IdAlumno(id);
        }

        public static Alumno Save(Alumno alum)
        {
            if (AlumnoDAL.Existe(alum.AluId))
                return AlumnoDAL.UpdateAlumno(alum);
            else
                return AlumnoDAL.CreateAlumno(alum);          
        }
    }  
Dentro de la clase tenemos los siguientes métodos.
CargarAlumnos() Este método retorna  todos los registros de la tabla Alumno.
IdAlumno() Este metodo retorna los datos de un alumno por medio del id.
Save() Este método valida si el registro existe por medio del id y dependiendo de esto actualiza o agrega un registro.

Ahora agreguemos una clase llamada MateriaBL.
 
    public class MateriaBL
    {
        public static List<Materia> CargarMaterias()
        {
            return MateriaDAL.CargarMaterias();
        }
    } 
Dentro de esta clase solo tenemos un método CargarMaterias() que lo único que hace es retornar todos los registros de la tabla materia.

Ahora agreguemos una clase llamada NotaBL.
 
    public class NotaBL
    {
        public static Nota IdNota(int id)
        {
            return NotaDAL.IdNota(id);
        }

        public static bool CreateNota(Nota not)
        {
            if (NotaDAL.Existe(not.AluId, not.MatId))
                return true;
            else
            {
                NotaDAL.CreateNota(not);
                return false;
            }
        }

        public static bool UpdateNota(Nota not)
        {
            if (NotaDAL.Existe(not.AluId, not.MatId))
            {
                NotaDAL.UpdateNota(not);
                return true;
            }
            else
            {
                return false;
            }
        }
    } 
Dentro de esta clase encontramos los siguientes métodos.
IdNota() Este método lo que hace es retornar los datos datos de un registro por medio del id.
CreateNota() Este método valida si un registro existe por medio del id del alumno y el id de la materia si existe retorna true, y si no existe crea el registro y retorna false. Validamos si el registro no existe para que un alumno solo pueda agregar una nota por materia..
UpdateNota() Este método igual que el anterior valida si el registro existe por medio del id del alumno y id de la materia solo que si el registro existe actualizamos el registro y retornamos true, y si no existe retornamos false.

Ahora agreguemos una clase llamada NotaAlumnoBL.
 
    public class NotaAlumnoBL
    {
        public static  List<NotaAlumno> CargarNotas()
        {
            return NotaAlumnoDAL.CargarNotas();
        }

        public static  List<NotaAlumno> NotasAlumno(int id)
        {
            return NotaAlumnoDAL.NotasAlumno(id);
        }
    } 
Dentro de esta clase encontramos los siguientes métodos.
CargarNotas() este método retorna todos los registros de la tabla nota.
NotasAlumno() este método retorna todas las notas de un alumno es por eso que hacemos uso del id del alumno para solo devolver solo las notas de un alumno.

Importante que dentro de cada clase que agregamos a nuestra capa de negocio(BussinesLayer) necesitamos  agregar referencias hacia las capas DataAcces Entities.
using DataAcces;
using Entities; 

Eso seria todo en nuestra capa de negocio(BussinesLayer) al final nuestro proyecto quedara de la siguiente manera.

Proyecto


Descargar Proyecto C#

Descargar Proyecto VB.Net

En el próximo y ultimo articulo desarrollaremos nuestra capa de presentación.
Desarrollo en Capas .Net (Parte 4) - Capa Presentacion

0 comentarios:

Publicar un comentario en la entrada

Nota: solo los miembros de este blog pueden publicar comentarios.