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