示例#1
0
        // Lógica de negocio
        #region "Residente"
        public Residente RegistrarResidente(Residente residente)
        {
            // Validación de DNI obligatorio
            if (null == residente.DNI || String.Empty.Equals(residente.DNI))
            {
                throw new Exception("No se puede registrar un Residente sin DNI");
            }

            // Validación de longitud de DNI = 8
            if (residente.DNI.Length != 8)
            {
                throw new Exception("El DNI debe tener 8 posiciones");
            }

            // Validación de existencia de un residente con el mismo DNI
            if (ResidenteDAO.Obtener(residente.DNI) != null)
            {
                throw new Exception("Ya existe un Residente con el DNI indicado");
            }

            // Validación de existencia de un residente con el mismo Correo
            if (ResidenteDAO.BuscarCorreo(residente.Correo).Count > 0)
            {
                throw new Exception("Ya existe un Residente con el Correo indicado");
            }

            if (null == residente.Tipo || String.Empty.Equals(residente.Tipo))
            {
                throw new Exception("No se puede registrar un residente sin el Tipo");
            }

            // Validación de edad aceptable
            if (residente.Edad < 18)
            {
                throw new Exception("Para poder registrarse debe ser mayor de edad");
            }

            Residente residenteACrear = new Residente();

            residenteACrear.DNI             = residente.DNI;
            residenteACrear.Nombres         = residente.Nombres;
            residenteACrear.ApellidoPaterno = residente.ApellidoPaterno;
            residenteACrear.ApellidoMaterno = residente.ApellidoMaterno;
            residenteACrear.Edad            = residente.Edad;
            residenteACrear.Correo          = residente.Correo;
            residenteACrear.Clave           = residente.Clave;
            residenteACrear.Tipo            = residente.Tipo;

            return(ResidenteDAO.Crear(residenteACrear));
        }