Пример #1
0
        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);
        }
Пример #5
0
        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);
 }