public ActionResult ProcesarPago(PeriodoPago periodoPago)
        {
            List <BoletaPago> boletas = new List <BoletaPago>();
            string            rpta    = Procesar_Pago_Servicio.Instancia.ProcesarPago(periodoPago, ref boletas);

            if (rpta == "OK")
            {
                return(PartialView("_ProcesarPago", boletas));
            }
            else if (rpta == "R01")
            {
                ViewBag.rpta = "No hay un periodo de Pago Vigente";
                return(PartialView("_Error", rpta));
            }
            else if (rpta == "NC")
            {
                ViewBag.rpta = "No hay Contratos Vigentes";
                return(PartialView("_Error", rpta));
            }
            else
            {
                ViewBag.rpta = "Error al registrar intente de nuevo";
                return(PartialView("_Error", rpta));
            }
        }
Example #2
0
        public void Test1_CalcularDescuentoAFP()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            AFP aFP = new AFP
            {
                Porcentaje = 13
            };
            Contrato contrato = new Contrato
            {
                AsignacionFamiliar = true,
                AFP = aFP
            };
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                Contrato    = contrato,
                TotalHoras  = 40,
                ValorHora   = 10,
            };
            Decimal CalcularDescuentoAFP_Esperado = 208;
            Decimal CalcularDescuentoAFP_Obtenido = boletaPago.CalcularDescuentoAFP();

            Assert.AreEqual(CalcularDescuentoAFP_Esperado, CalcularDescuentoAFP_Obtenido);
        }
Example #3
0
        public void Test1_CalcularTotalIngresos()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            //AFP aFP = new AFP
            //{
            //    Porcentaje = 13
            //};
            Contrato contrato = new Contrato
            {
                AsignacionFamiliar = true,
                //AFP = aFP
            };
            Conceptos conceptos = new Conceptos
            {
                HorasExtras   = 120,
                Reintegros    = 70,
                OtrosIngresos = 40
            };
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                Contrato    = contrato,
                Conceptos   = conceptos,
                TotalHoras  = 40,
                ValorHora   = 10,
            };
            Decimal CalcularTotalIngresos_Esperado = 1990;
            Decimal CalcularTotalIngresos_Obtenido = boletaPago.CalcularTotalIngresos();

            Assert.AreEqual(CalcularTotalIngresos_Esperado, CalcularTotalIngresos_Obtenido);
        }
Example #4
0
        public void Test2_ValidarPeriodoPago()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaFin = DateTime.Parse("10/11/2019")
            };
            bool ValidarPeriodoPago_Esperado = false;
            bool ValidarPeriodoPago_Obtenido = periodoPago.ValidarPeriodoPago();

            Assert.AreEqual(ValidarPeriodoPago_Esperado, ValidarPeriodoPago_Obtenido);
        }
Example #5
0
        public void Test1_CalcularSemanasPeriodo()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            int CalcularSemanasPeriodo_Esperado = 4;
            int CalcularSemanasPeriodo_Obtenido = periodoPago.CalcularSemanasPeriodo();

            Assert.AreEqual(CalcularSemanasPeriodo_Esperado, CalcularSemanasPeriodo_Obtenido);
        }
        // GET: Pago
        public ActionResult Inicio()
        {
            PeriodoPago periodoPago = Procesar_Pago_Servicio.Instancia.ObtenerPeriodo();

            if (periodoPago.Id_PeriodoPago == 0)
            {
                return(View("Error"));
            }
            else
            {
                return(View("Inicio", periodoPago));
            }
        }
        public PeriodoPago ObtenerPeriodo()
        {
            PeriodoPago periodo = new PeriodoPago();

            periodo = PeriodoPagoDA.Instancia.ObtenerPeriodo();
            PeriodoPago pe = new PeriodoPago();

            if (pe.ValidarPeriodoPago())
            {
                pe = periodo;
            }

            return(pe);
        }
Example #8
0
        public Boolean ProcesarPeriodo(PeriodoPago periodoPago, List <BoletaPago> lstboletaPagos)
        {
            Boolean correcto = false;

            try
            {
                Database DB = AyudaDA.SetEnviroment(1);
                using (var conn = DB.CreateConnection())
                {
                    conn.Open();
                    using (DbTransaction Trans = conn.BeginTransaction())
                    {
                        try
                        {
                            foreach (BoletaPago boletaPago in lstboletaPagos)
                            {
                                BoletaPagoDA.Instancia.RegistrarBoletaPago(boletaPago, periodoPago, DB, Trans);
                            }
                            //throw new Exception("Error en los datos. Error guardando al cliente.");
                            DbParameter[] parameters = new DbParameter[]
                            {
                                AyudaDA.AddParameter("@Id_PeriodoPago", periodoPago.Id_PeriodoPago),
                                AyudaDA.AddParameter("@Estado", periodoPago.Estado)
                            };
                            DbCommand cmdCom = null;
                            AyudaDA.ExecuteNonQueryOutWithOutDB("PROCESAR_PAGO", parameters, ref cmdCom, ref DB, Trans);
                            //Valida Telefono
                            Trans.Commit();
                            correcto = true;
                        }
                        catch (Exception ex)
                        {
                            correcto = false;
                            Trans.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception)
            {
                correcto = false;
                throw;
            }
            return(correcto);
        }
Example #9
0
        public void Test_CalcularTotalHoras()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                TotalHoras  = 40
            };
            int CalcularTotalHoras_Esperado = 160;
            int CalcularTotalHoras_Obtenido = boletaPago.CalcularTotalHoras();

            Assert.AreEqual(CalcularTotalHoras_Esperado, CalcularTotalHoras_Obtenido);
        }
Example #10
0
        public void Test_CalcularSueldoBasico()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                TotalHoras  = 40,
                ValorHora   = 12,
            };
            Decimal CalcularSueldoBasico_Esperado = 1920;
            Decimal CalcularSueldoBasico_Obtenido = boletaPago.CalcularSueldoBasico();

            Assert.AreEqual(CalcularSueldoBasico_Esperado, CalcularSueldoBasico_Obtenido);
        }
 public String ProcesarPago(PeriodoPago periodoPago, ref List <BoletaPago> boletas)
 {
     if (periodoPago.ValidarPeriodoPago())
     {
         List <Contrato> contratos = ContratoDA.Instancia.ListarContrato();
         String          fechatem  = System.DateTime.Now.ToShortTimeString();
         DateTime        fechapago = DateTime.Parse(fechatem);
         foreach (Contrato contrato in contratos)
         {
             if (contrato.ObtenerVigencia())
             {
                 BoletaPago boletaPago = new BoletaPago();
                 contrato.AFP                  = AFPDA.Instancia.ObtenerAFP(contrato.AFP.Id_AFP);
                 boletaPago.Contrato           = contrato;
                 boletaPago.PeriodoPago        = periodoPago;
                 contrato.Empleado             = EmpleadoDA.Instancia.BuscarEmpleado(contrato.Empleado.Id_Empleado);
                 boletaPago.Conceptos          = ConceptosDA.Instancia.ObtenerConceptos(contrato.Id_Contrato, periodoPago.Id_PeriodoPago);
                 boletaPago.PorcentajeAFP      = contrato.AFP.Porcentaje;
                 boletaPago.TotalHoras         = boletaPago.CalcularTotalHoras();
                 boletaPago.ValorHora          = contrato.ValorHora;
                 boletaPago.AsignacionFamiliar = boletaPago.CalcularAsignacionFamiliar();
                 boletaPago.FechaPago          = fechapago;
                 boletas.Add(boletaPago);
             }
         }
         if (boletas.Count() == 0)
         {
             return("NC");
         }
         else
         {
             periodoPago.Estado = "Procesado";
             if (PeriodoPagoDA.Instancia.ProcesarPeriodo(periodoPago, boletas))
             {
                 return("OK");
             }
             else
             {
                 return("SQL");
             }
         }
     }
     return("R01");
 }
Example #12
0
        public void Test1_CalcularTotalDescuentos()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("10/10/2019"),
                FechaFin    = DateTime.Parse("10/11/2019")
            };
            AFP aFP = new AFP
            {
                Porcentaje = 13
            };
            Contrato contrato = new Contrato
            {
                //AsignacionFamiliar = true,
                AFP = aFP
            };

            Conceptos conceptos = new Conceptos
            {
                Adelanto        = 150,
                HorasAusentes   = 50,
                OtrosDescuentos = 20
            };
            //Conceptos conceptos = new Conceptos
            //{
            //    HorasExtas = 120,
            //    Reintegros = 70,
            //    OtrosIngresos = 40
            //};
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                Contrato    = contrato,
                Conceptos   = conceptos,
                TotalHoras  = 40,
                ValorHora   = 10,
            };
            Decimal CalcularTotalDescuentos_Esperado = -428;
            Decimal CalcularTotalDescuentos_Obtenido = boletaPago.CalcularTotalDescuentos();

            Assert.AreEqual(CalcularTotalDescuentos_Esperado, CalcularTotalDescuentos_Obtenido);
        }
Example #13
0
        public PeriodoPago ObtenerPeriodo()
        {
            PeriodoPago periodo = new PeriodoPago();

            try
            {
                using (IDataReader dr = AyudaDA.ExecuteReader("OBTENER_PERIODOPAGO", 1))// Por favor leer el estandar de Nomenclatura de Base de Datos
                {
                    while (dr.Read())
                    {
                        periodo.Id_PeriodoPago = dr.GetInt32(dr.GetOrdinal("Id_PeriodoPago"));
                        periodo.FechaInicio    = dr.IsDBNull(dr.GetOrdinal("FechaInicio")) ? default(DateTime) : dr.GetDateTime(dr.GetOrdinal("FechaInicio"));
                        periodo.FechaFin       = dr.IsDBNull(dr.GetOrdinal("FechaFin")) ? default(DateTime) : dr.GetDateTime(dr.GetOrdinal("FechaFin"));
                    }
                    ;
                }
                return(periodo);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #14
0
        public void Test2_CalcularAsignacionFamiliar()
        {
            PeriodoPago periodoPago = new PeriodoPago
            {
                FechaInicio = DateTime.Parse("12/10/2019"),
                FechaFin    = DateTime.Parse("10/12/2019")
            };
            Contrato contrato = new Contrato
            {
                AsignacionFamiliar = false
            };
            BoletaPago boletaPago = new BoletaPago
            {
                PeriodoPago = periodoPago,
                Contrato    = contrato,
                TotalHoras  = 30,
                ValorHora   = 20,
            };
            Decimal CalcularAsignacionFamiliar_Esperado = 0;
            Decimal CalcularAsignacionFamiliar_Obtenido = boletaPago.CalcularAsignacionFamiliar();

            Assert.AreEqual(CalcularAsignacionFamiliar_Esperado, CalcularAsignacionFamiliar_Obtenido);
        }
Example #15
0
 public void RegistrarBoletaPago(BoletaPago boletaPago, PeriodoPago periodoPago, Database DB, DbTransaction Trans)
 {
     try
     {
         //throw new Exception("Error en los datos. Error guardando al cliente.");
         DbParameter[] parameters = new DbParameter[]
         {
             AyudaDA.AddParameter("@FechaPago", boletaPago.FechaPago),
             AyudaDA.AddParameter("@TotalHoras", boletaPago.TotalHoras),
             AyudaDA.AddParameter("@ValorHora", boletaPago.ValorHora),
             AyudaDA.AddParameter("@AsignacionFamiliar", boletaPago.AsignacionFamiliar),
             AyudaDA.AddParameter("@PorcentajeAFP", boletaPago.PorcentajeAFP),
             AyudaDA.AddParameter("@Id_PerdiodoPago", periodoPago.Id_PeriodoPago),
             AyudaDA.AddParameter("@Id_Conceptos", boletaPago.Conceptos.Id_Conceptos),
             AyudaDA.AddParameter("@Id_Contrato", boletaPago.Contrato.Id_Contrato),
         };
         DbCommand cmdDETC = null;
         AyudaDA.ExecuteNonQueryOutWithOutDB("REGISTRAR_BOLETA", parameters, ref cmdDETC, ref DB, Trans);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }