예제 #1
0
        ///el bind sirve para enlazar los atributos de la vista
        public ActionResult Registro([Bind(Include = "StrNombre,StrApellidoPaterno,StrApellidoMaterno,IdTurno,IdRoles,UsuarioViewModel,HorarioLaboralViewModel,DteFechaIngreso")] EmpleadoViewModel empleadoViewModel)
        {
            if (ModelState.IsValid)
            {
                #region Llenamos el usuario
                Usuario user = new Usuario();
                user.Nombres   = empleadoViewModel.StrNombre.Trim();
                user.Apellidos = empleadoViewModel.StrApellidoPaterno + " " + empleadoViewModel.StrApellidoMaterno;
                user.Email     = empleadoViewModel.UsuarioViewModel.Email.Trim();
                user.Clave     = Funciones.Encrypt(empleadoViewModel.UsuarioViewModel.Clave);

                #endregion

                #region Llenamos el rol del usuario
                Usuario_Rol userRol = new Usuario_Rol();
                userRol.Id_rol = empleadoViewModel.IdRoles;
                #endregion

                #region Llenamos la persona
                Empleado empleado = new Empleado();
                empleado.strNombre          = empleadoViewModel.StrNombre.Trim();
                empleado.strApellidoPaterno = empleadoViewModel.StrApellidoPaterno.Trim();
                empleado.strApellidoMaterno = empleadoViewModel.StrApellidoMaterno.Trim();
                empleado.dteFechaIngreso    = DateTime.Parse(empleadoViewModel.DteFechaIngreso.Trim());

                #endregion

                #region Horario Laboral
                HorarioLaboral horarioLaboral = new HorarioLaboral();
                horarioLaboral.dteHorarioEntrada = empleadoViewModel.HorarioLaboralViewModel.DteHorarioEntrada;
                horarioLaboral.dteHorarioSalida  = empleadoViewModel.HorarioLaboralViewModel.DteHorarioSalida;
                horarioLaboral.dteFechaActual    = DateTime.Now;
                #endregion

                #region Turno Empleado
                horarioLaboral.idTurno = empleadoViewModel.IdTurno;
                #endregion

                #region  Carga Global de objetos
                empleado.HorarioLaboral.Add(horarioLaboral);
                user.Empleado.Add(empleado);
                userRol.Usuario = user;
                #endregion

                #region Accion de Inercion del Controlador
                IUsuarioRol usuarioRol = new UsuarioRolBusiness();
                usuarioRol.Insert(userRol);
                #endregion
            }
            return(RedirectToAction("Usuarios", "Empleado"));
        }
예제 #2
0
 public Empleo(Empresa empresa, Sucursal sucursal, Beneficiario beneficiario, HorarioLaboral horarioLaboral,
               string cargo, decimal sueldo, TipoEmpleo tipoEmpleo, DateTime fechaDeInicio)
 {
     this.Empresa             = empresa;
     this.Sucursal            = sucursal;
     this.Beneficiario        = beneficiario;
     this.HorarioLaboral      = horarioLaboral;
     this.Cargo               = cargo;
     this.Sueldo              = sueldo;
     this.TipoEmpleo          = tipoEmpleo;
     this.Contrato            = Contrato;
     this.FechaDeInicio       = fechaDeInicio;
     ComprobantesPago         = new List <ComprobantePago>();
     FichasSupervisionEmpleos = new List <FichaSupervisionEmpleo>();
     Id          = Guid.NewGuid();
     Supervisado = false;
 }
예제 #3
0
        public void isExecutable_EmpresaExisteBeneficiarioExisteTipoEmpleoExisteEmpleoNoReciente_return_true()
        {
            var empresa = getEmpresa();

            var beneficiario = getBeneficiario();

            var sucursal = empresa.Sucursales.First();

            var horario = new HorarioLaboral(new Hora(7, 0, "AM"), new Hora(5, 30, "PM"),
                                             new DiasLaborables()
            {
                Lunes = true, Martes = true
            });

            var empleo = new Empleo(empresa, sucursal, beneficiario, horario, "Ingeniero", 30000,
                                    new TipoEmpleo("Horas"), new DateTime(2014, 5, 6));


            var repositoryRead     = Mock.Of <IEmpleoRepositoryReadOnly>();
            var repositoryCommands = Mock.Of <IEmpleoRepositoryCommands>();
            var beneficiarioRead   = Mock.Of <IBeneficiarioRepositoryReadOnly>();
            var providerDays       = Mock.Of <IProvideAllowedDaysForNewEmpleo>();
            var empresaRead        = Mock.Of <IEmpresaRepositoryReadOnly>();
            var tiposEmpleoRead    = Mock.Of <ITipoDeEmpleoReadOnlyRepository>();
            var uow = Mock.Of <Func <IUnitOfWork> >();

            Mock.Get(uow).Setup(x => x()).Returns(new DummyUnitOfWork());

            Mock.Get(repositoryRead).Setup(x => x.exists(empleo.Id)).Returns(true);
            Mock.Get(providerDays).Setup(x => x.getDays()).Returns(90);
            Mock.Get(repositoryRead)
            .Setup(x => x.existsEmpleoRecienteParaBeneficiario(empleo.FechaDeInicio, 90, empleo.Beneficiario.Id))
            .Returns(false);

            Mock.Get(beneficiarioRead).Setup(x => x.exists(empleo.Beneficiario.Id)).Returns(true);
            Mock.Get(empresaRead).Setup(x => x.exists(empleo.Empresa.Id)).Returns(true);
            Mock.Get(tiposEmpleoRead).Setup(x => x.exists(empleo.TipoEmpleo.Id)).Returns(true);



            var command = new CommandUpdateEmpleo(repositoryCommands, uow, repositoryRead, beneficiarioRead, providerDays, empresaRead, tiposEmpleoRead);

            var respuesta = command.isExecutable(empleo);

            Assert.IsTrue(respuesta);
        }