public bool calcularSalarioNeto(DateTime fechaPago)
        {
            try
            {
                List <sp_getEmpleadosActivos_Result> empleadosActivos = this.getEmpleadosActivos();
                PAGO_EMPLEADOS pago = new PAGO_EMPLEADOS();
                pago.fechaPago = fechaPago;

                using (UnidadDeTrabajo <PAGO_EMPLEADOS> unidad = new UnidadDeTrabajo <PAGO_EMPLEADOS>(new BDContext()))
                {
                    foreach (var itemEmpleados in empleadosActivos)
                    {
                        pago.idEmpleado       = itemEmpleados.idEmpleado;
                        pago.salarioBruto     = itemEmpleados.salarioMensual;//si los pagos van a ser quincenales hay que dividir entre 2
                        pago.totalDeducciones = this.calcularDeducciones(pago);
                        pago.salarioNeto      = pago.salarioBruto - pago.totalDeducciones;
                        unidad.genericDAL.Add(pago);
                        unidad.Complete();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#2
0
        public ActionResult CalcularPlanilla(PAGO_EMPLEADOS pe)
        {
            /*//calculo metodos
             * c.actualizarLista(pe.fechaPago);
             * c.calcularSalarioNeto();
             * c.calcularDeducciones();
             * c.calcularSalarioBruto();*/
            pagoDAL.calcularSalarioNeto(pe.fechaPago);

            return(RedirectToAction("Index"));
        }
        public void TestDeleteGeneric()
        {
            PAGO_EMPLEADOS x = new PAGO_EMPLEADOS();

            using (UnidadDeTrabajo <PAGO_EMPLEADOS> Unidad = new UnidadDeTrabajo <PAGO_EMPLEADOS>(new BDContext()))
            {
                x = Unidad.genericDAL.Get(2);
                Unidad.genericDAL.Remove(x);
                Assert.AreEqual(true, Unidad.Complete());
            }
        }
示例#4
0
        public bool actualizarLista(DateTime date)
        {
            try
            {
                List <EMPLEADOS>      empleados;
                List <PAGO_EMPLEADOS> pagos;
                using (UnidadDeTrabajo <PAGO_EMPLEADOS> Unidad = new UnidadDeTrabajo <PAGO_EMPLEADOS>(new BDContext()))
                {
                    pagos = Unidad.genericDAL.GetAll().ToList();//obtengo todos los pagos

                    if (pagos.Count != 0)
                    {
                        foreach (var item in pagos)
                        {
                            Unidad.genericDAL.Remove(item);//elimino todos los registros
                            //Unidad.Complete();
                        }
                    }
                    using (UnidadDeTrabajo <EMPLEADOS> Unidad1 = new UnidadDeTrabajo <EMPLEADOS>(new BDContext()))
                    {
                        empleados = Unidad1.genericDAL.GetAll().ToList();//obtengo todas los empleados
                        if (empleados.Count != 0)
                        {
                            foreach (var item in empleados)
                            {
                                PAGO_EMPLEADOS x = new PAGO_EMPLEADOS
                                {
                                    idEmpleado       = item.idEmpleado,
                                    salarioBruto     = 0,
                                    totalDeducciones = 0,
                                    salarioNeto      = 0,
                                    fechaPago        = date
                                };
                                Unidad.genericDAL.Add(x); //agrego de nuevo a todos los empleados disponibles
                                                          //Unidad.Complete();
                            }
                        }
                        Unidad1.Complete();
                    }
                    Unidad.Complete();
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public void TestAddGeneric()
        {
            PAGO_EMPLEADOS x = new PAGO_EMPLEADOS
            {
                idEmpleado       = 1,
                salarioBruto     = 2000,
                totalDeducciones = 2000,
                salarioNeto      = 2222,
                fechaPago        = DateTime.Now.Date
            };


            using (UnidadDeTrabajo <PAGO_EMPLEADOS> Unidad = new UnidadDeTrabajo <PAGO_EMPLEADOS>(new BDContext()))
            {
                Unidad.genericDAL.Add(x);
                Assert.AreEqual(true, Unidad.Complete());
            }
        }
        public decimal calcularDeducciones(PAGO_EMPLEADOS pago)
        {
            decimal totalDeducciones = 0;
            List <TIPO_DEDUCCIONES> tipoDeducciones    = this.getDeducciones();
            DEDUCCIONES_EMPLEADOS   deduccioneEmpleado = new DEDUCCIONES_EMPLEADOS();

            deduccioneEmpleado.fechaPago  = pago.fechaPago;
            deduccioneEmpleado.idEmpleado = pago.idEmpleado;
            using (UnidadDeTrabajo <DEDUCCIONES_EMPLEADOS> unidad = new UnidadDeTrabajo <DEDUCCIONES_EMPLEADOS>(new BDContext()))
            {
                foreach (var itemDeucciones in tipoDeducciones)
                {
                    deduccioneEmpleado.idDeduccion = itemDeucciones.idDeduccion;
                    deduccioneEmpleado.monto       = pago.salarioBruto * (itemDeucciones.porcentaje / 100);
                    totalDeducciones = totalDeducciones + pago.salarioBruto * (itemDeucciones.porcentaje / 100);
                    unidad.genericDAL.Add(deduccioneEmpleado);
                    unidad.Complete();
                }
            }
            return(totalDeducciones);
        }