///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")); }
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; }
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); }