public JsonResult GetTrabajadores(BoletaPago obj) { var bussingLogic = new GP.BusinessLogic.BLBoletaPago(); var response = bussingLogic.GetTrabajadores(obj); return(Json(response)); }
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 Response <IEnumerable <BoletaPago> > GetBoletaPago(BoletaPago obj) { try { var result = repository.GetBoletaPago(obj); return(new Response <IEnumerable <BoletaPago> >(result)); } catch (Exception ex) { return(new Response <IEnumerable <BoletaPago> >(ex)); } }
public Response <IEnumerable <BoletaPago> > GetTrabajadores(BoletaPago obj) { try { var result = repository.GetTrabajadores(obj); if (result.Any()) { string periodo = obj.HorasTrabajadas.Periodo; string body = CargarPlantilla(periodo); string nombrearchivo = "Boleta de Pago " + periodo; int i = 1; int?trabajadorid = 0; int contador = result.Count(); while (contador >= i) { trabajadorid = result.Where(x => x.Indicador == i).Select(y => y.Trabajador.Trabajador_Id).FirstOrDefault(); Trabajador trabajador = new Trabajador(); Empleador empleador = new Empleador(); HorasTrabajadas horasTrabajadas = new HorasTrabajadas(); IEnumerable <DetalleVacaciones> lstdetalleVacaiones; Beneficio beneficio = new Beneficio(); if (trabajadorid > 0) { trabajador = repository2.ObtenerTrabajador(trabajadorid); empleador = repository3.ObtenerEmpleador(); horasTrabajadas = repository4.CalculaHorasTrabajadas(periodo, trabajador); trabajador.HorasTrabajadas = new HorasTrabajadas { Periodo = periodo }; lstdetalleVacaiones = repository5.DetalleVacaciones(trabajador); beneficio = repository6.GetSeguro(trabajador); byte[] arraybytes = CrearBoletaPago(periodo, empleador, trabajador, horasTrabajadas, lstdetalleVacaiones.ToArray(), beneficio); EnvioCorreo.Send(trabajador.Correo, nombrearchivo, body, arraybytes, nombrearchivo + ".pdf"); } i++; } return(new Response <IEnumerable <BoletaPago> >(result)); } else { var rs = new Response <IEnumerable <BoletaPago> >(result); rs.InternalException = "No se encontraton boletas con esa fecha"; rs.InternalStatus = InternalStatus.Failed; return(rs); } } catch (Exception ex) { return(new Response <IEnumerable <BoletaPago> >(ex)); } }
public IEnumerable <BoletaPago> GetBoletaPago(BoletaPago obj) { using (var connection = Factory.ConnectionFactory()) { connection.Open(); var parm = new DynamicParameters(); parm.Add("@Periodo", obj.HorasTrabajadas.Periodo); parm.Add("@NumPagina", obj.Operacion.Inicio); parm.Add("@TamPagina", obj.Operacion.Fin); var result = connection.Query( sql: "sp_Buscar_Boleta", param: parm, commandType: CommandType.StoredProcedure) .Select(m => m as IDictionary <string, object>) .Select(n => new BoletaPago { Trabajador = new Trabajador { Trabajador_Id = n.Single(d => d.Key.Equals("Trabajador_Id")).Value.Parse <int>(), Nombres = n.Single(d => d.Key.Equals("NombreApellido")).Value.Parse <string>(), Area = new Area { Descripcion = n.Single(d => d.Key.Equals("Area_Descripcion")).Value.Parse <string>() }, Turno = new Turno { Descripcion = n.Single(d => d.Key.Equals("Turno_Descripcion")).Value.Parse <string>() }, Cargo = new Cargo { Descripcion = n.Single(d => d.Key.Equals("Cargo_Descripcion")).Value.Parse <string>() } }, HorasTrabajadas = new HorasTrabajadas { Periodo = n.Single(d => d.Key.Equals("Periodo")).Value.Parse <string>() }, Auditoria = new Auditoria { TipoUsuario = obj.Auditoria.TipoUsuario, }, Operacion = new Operacion { TotalRows = n.Single(d => d.Key.Equals("TotalRows")).Value.Parse <int>(), } }); return(result); } }
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 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 JsonResult GetBoletaPago(BoletaPago obj) { var ctx = HttpContext.GetOwinContext(); var tipoUsuario = ctx.Authentication.User.Claims.FirstOrDefault().Value; obj.Auditoria = new Auditoria { TipoUsuario = tipoUsuario }; string draw = Request.Form.GetValues("draw")[0]; int inicio = Convert.ToInt32(Request.Form.GetValues("start").FirstOrDefault()); int fin = Convert.ToInt32(Request.Form.GetValues("length").FirstOrDefault()); obj.Operacion = new Operacion { Inicio = (inicio / fin), Fin = fin }; var bussingLogic = new GP.BusinessLogic.BLBoletaPago(); var response = bussingLogic.GetBoletaPago(obj); var Datos = response.Data; int totalRecords = Datos.Any() ? Datos.FirstOrDefault().Operacion.TotalRows : 0; int recFilter = totalRecords; var result = (new { draw = Convert.ToInt32(draw), recordsTotal = totalRecords, recordsFiltered = recFilter, data = Datos }); return(Json(result)); }
public IEnumerable <BoletaPago> GetTrabajadores(BoletaPago obj) { using (var connection = Factory.ConnectionFactory()) { connection.Open(); var parm = new DynamicParameters(); parm.Add("@Periodo", obj.HorasTrabajadas.Periodo); var result = connection.Query( sql: "sp_Buscar_Trabajador_Periodo", param: parm, commandType: CommandType.StoredProcedure) .Select(m => m as IDictionary <string, object>) .Select(n => new BoletaPago { Indicador = n.Single(d => d.Key.Equals("Indicador")).Value.Parse <int>(), Trabajador = new Trabajador { Trabajador_Id = n.Single(d => d.Key.Equals("Trabajador_Id")).Value.Parse <int>() }, }); return(result); } }
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; } }
public Response <BoletaPago> DescargarBoletaPago(int TrabajadorId, string Periodo) { Trabajador trabajador = new Trabajador(); Empleador empleador = new Empleador(); HorasTrabajadas horasTrabajadas = new HorasTrabajadas(); IEnumerable <DetalleVacaciones> lstdetalleVacaiones; Beneficio beneficio = new Beneficio(); BoletaPago boletaPago = new BoletaPago(); trabajador = repository2.ObtenerTrabajador(TrabajadorId); empleador = repository3.ObtenerEmpleador(); horasTrabajadas = repository4.CalculaHorasTrabajadas(Periodo, trabajador); trabajador.HorasTrabajadas = new HorasTrabajadas { Periodo = Periodo }; lstdetalleVacaiones = repository5.DetalleVacaciones(trabajador); beneficio = repository6.GetSeguro(trabajador); byte[] arraybytes = CrearBoletaPago(Periodo, empleador, trabajador, horasTrabajadas, lstdetalleVacaiones.ToArray(), beneficio); string nombrearchivo = "BoletaPago_" + string.Concat(trabajador.ApellidoPaterno, "_", trabajador.Nombres) + "_" + Periodo; boletaPago.Arraybytes = arraybytes; boletaPago.Nombrearchivo = nombrearchivo; return(new Response <BoletaPago>(boletaPago)); }