public void Debe_Crear_PersistirIncapacidad_Cuando_EsEnfermedadGeneralPorDosDiasSalarioIntegral_5Dias() { var solicitudIncapacidad = new SolicitudIncapacidad(1, 1, 2020, 06, 03, 5, "incapacidad del señor Alan"); _creadorIncapacidad.Crear(solicitudIncapacidad); Incapacidad incapacidad = _contexto.Incapacidades.FirstOrDefault(); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.FechaIncial); Assert.AreEqual(new DateTime(2020, 06, 07), incapacidad.FechaFinal); Assert.IsTrue(new Dinero(1_000_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[0].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.ReconocimientosEconomicos[0].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 04), incapacidad.ReconocimientosEconomicos[0].FechaFinal); Assert.AreEqual(Entidad.EMPRESA, incapacidad.ReconocimientosEconomicos[0].ResponsablePago); Assert.IsTrue(new Dinero(700_035m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[1].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 05), incapacidad.ReconocimientosEconomicos[1].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 07), incapacidad.ReconocimientosEconomicos[1].FechaFinal); Assert.AreEqual(Entidad.EPS, incapacidad.ReconocimientosEconomicos[1].ResponsablePago); Assert.IsTrue(new Dinero(450_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[2].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 05), incapacidad.ReconocimientosEconomicos[2].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 07), incapacidad.ReconocimientosEconomicos[2].FechaFinal); Assert.AreEqual(Entidad.EMPRESA, incapacidad.ReconocimientosEconomicos[2].ResponsablePago); }
public void Debe_Crear_PersistirIncapacidad_Cuando_EsLicenciaPaternidadSalarioLey50() { var solicitudIncapacidad = new SolicitudIncapacidad(2, 3, 2020, 06, 03, 8, "incapacidad del Richard"); _creadorIncapacidad.Crear(solicitudIncapacidad); Incapacidad incapacidad = _contexto.Incapacidades.FirstOrDefault(); Assert.IsTrue(new Dinero(800_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[0].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.FechaIncial); Assert.AreEqual(new DateTime(2020, 06, 10), incapacidad.FechaFinal); }
public override void Crear(SolicitudIncapacidad solicitudIncapacidad) { Empleado empleado = _empleadoServicio.ObtenerEmpleado(solicitudIncapacidad.IdEmpleado); var fechaIncial = new DateTime(solicitudIncapacidad.Anio, solicitudIncapacidad.Mes, solicitudIncapacidad.Dia); List <ResponsablePago> responsablesPagos = _responsablePagoServicio.ObtenerResponsablesPago((TipoIncapacidad)solicitudIncapacidad.TipoIncapacidad, solicitudIncapacidad.CantidadDias); List <ReconocimientoEconomico> reconocimientosEconomicos = CalcularReconocimientosEconomicosEnfermedadGeneral(solicitudIncapacidad, empleado, fechaIncial, responsablesPagos); var incapacidad = new Incapacidad(solicitudIncapacidad.IdEmpleado, (Modelos.Enumeracion.TipoIncapacidad)solicitudIncapacidad.TipoIncapacidad, fechaIncial, solicitudIncapacidad.CantidadDias, solicitudIncapacidad.Observaciones, reconocimientosEconomicos); _incapacidadServicio.Guardar(incapacidad); }
public void Debe_Crear_PersistirIncapacidad_Cuando_EsEnfermedadGeneralPorDosDiasSalarioLey50_4Dias() { var solicitudIncapacidad = new SolicitudIncapacidad(2, 1, 2020, 06, 03, 4, "incapacidad del Richard"); _creadorIncapacidad.Crear(solicitudIncapacidad); Incapacidad incapacidad = _contexto.Incapacidades.FirstOrDefault(); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.FechaIncial); Assert.AreEqual(new DateTime(2020, 06, 06), incapacidad.FechaFinal); Assert.IsTrue(new Dinero(200_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[0].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.ReconocimientosEconomicos[0].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 04), incapacidad.ReconocimientosEconomicos[0].FechaFinal); Assert.IsTrue(new Dinero(133_340m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[1].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 05), incapacidad.ReconocimientosEconomicos[1].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 06), incapacidad.ReconocimientosEconomicos[1].FechaFinal); }
public void Debe_Crear_PersistirIncapacidad_Cuando_EsLicenciaPaternidadSalarioIntegral() { var solicitudIncapacidad = new SolicitudIncapacidad(1, 3, 2020, 06, 03, 8, "incapacidad del señor Alan"); _creadorIncapacidad.Crear(solicitudIncapacidad); Incapacidad incapacidad = _contexto.Incapacidades.FirstOrDefault(); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.FechaIncial); Assert.AreEqual(new DateTime(2020, 06, 10), incapacidad.FechaFinal); Assert.IsTrue(new Dinero(2_800_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[0].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.ReconocimientosEconomicos[0].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 10), incapacidad.ReconocimientosEconomicos[0].FechaFinal); Assert.AreEqual(Entidad.EPS, incapacidad.ReconocimientosEconomicos[0].ResponsablePago); Assert.IsTrue(new Dinero(1_200_000m, Moneda.COP) == incapacidad.ReconocimientosEconomicos[1].ValorAPagar); Assert.AreEqual(new DateTime(2020, 06, 03), incapacidad.ReconocimientosEconomicos[1].FechaInicial); Assert.AreEqual(new DateTime(2020, 06, 10), incapacidad.ReconocimientosEconomicos[1].FechaFinal); Assert.AreEqual(Entidad.EMPRESA, incapacidad.ReconocimientosEconomicos[1].ResponsablePago); }
public abstract void Crear(SolicitudIncapacidad solicitudIncapacidad);
private List <ReconocimientoEconomico> CalcularReconocimientosEconomicosEnfermedadGeneral(SolicitudIncapacidad solicitudIncapacidad, Empleado empleado, DateTime fechaIncial, List <ResponsablePago> responsablesPagos) { var reconocimientosEconomicos = new List <ReconocimientoEconomico>(); foreach (var responsablePago in responsablesPagos) { int cantidadDias = CalcularCantidadDias(solicitudIncapacidad.CantidadDias, responsablePago); DateTime fecha = CalcularFechaInicial(fechaIncial, solicitudIncapacidad.CantidadDias, cantidadDias, responsablePago); var reconocimientoEconomico = new ReconocimientoEconomico(empleado.Id, fecha, cantidadDias, empleado.SalarioDiarioPorPorcentajeSalario, responsablePago.ReconocimientoPorcentaje, responsablePago.Responsable); reconocimientosEconomicos.Add(reconocimientoEconomico); } return(reconocimientosEconomicos); }
public void Post(SolicitudIncapacidad solicitudIncapacidad) { _creadorIncapacidad.Crear(solicitudIncapacidad); }