//Utilizado para mostrar la cabecera de la Solicitud Pago public async Task <DetallePlanPagoDto> ObtenerDetallePlanPagoParaSolicitudPago(int planPagoId) { return(await(from pp in _context.PlanPago join c in _context.CDP on pp.Crp equals c.Crp join t in _context.Tercero on pp.TerceroId equals t.TerceroId join p in _context.ParametroLiquidacionTercero on pp.TerceroId equals p.TerceroId into ParametroTercero from pt in ParametroTercero.DefaultIfEmpty() join us in _context.Usuario on pp.UsuarioIdRegistro equals us.UsuarioId into Usuario from us in Usuario.DefaultIfEmpty() join con in _context.Contrato on pp.Crp equals con.Crp into Contrato from contra in Contrato.DefaultIfEmpty() join sup in _context.Usuario on contra.Supervisor1Id equals sup.UsuarioId into Supervisor from super in Supervisor.DefaultIfEmpty() where pp.PciId == c.PciId where pp.PciId == pt.PciId where pp.PciId == us.PciId where pp.PciId == contra.PciId where contra.PciId == super.PciId where pp.PlanPagoId == planPagoId where c.Instancia == (int)TipoDocumento.Compromiso select new DetallePlanPagoDto() { PlanPagoId = pp.PlanPagoId, TerceroId = pp.TerceroId, Detalle4 = CortarTexto(c.Detalle4, 50), Detalle5 = super.Nombres + ' ' + super.Apellidos, Detalle6 = c.Detalle6, Detalle7 = ResumirDetalle7(c.Detalle7), ValorTotal = c.ValorTotal, SaldoActual = c.SaldoActual, Fecha = c.Fecha, Operacion = c.Operacion, ModalidadContrato = pt.ModalidadContrato, TipoPago = pt.TipoPago, Viaticos = pp.Viaticos, ViaticosDescripcion = pp.Viaticos ? "SI" : "NO", Crp = pp.Crp, NumeroPago = pp.NumeroPago, ValorFacturado = pp.ValorFacturado.HasValue ? pp.ValorFacturado.Value : 0, NumeroRadicadoSupervisor = pp.NumeroRadicadoSupervisor, FechaRadicadoSupervisor = pp.FechaRadicadoSupervisor, FechaRadicadoSupervisorFormato = pp.FechaRadicadoSupervisor.HasValue ? pp.FechaRadicadoSupervisor.Value.ToString("yyyy-MM-dd") : string.Empty, NumeroRadicadoProveedor = pp.NumeroRadicadoProveedor, FechaRadicadoProveedor = pp.FechaRadicadoProveedor.HasValue ? pp.FechaRadicadoProveedor.Value : null, FechaRadicadoProveedorFormato = pp.FechaRadicadoProveedor.HasValue ? pp.FechaRadicadoProveedor.Value.ToString("yyyy-MM-dd") : string.Empty, IdentificacionTercero = t.NumeroIdentificacion, NombreTercero = CortarTexto(t.Nombre, 30), Usuario = us.Nombres + ' ' + us.Apellidos, Email = us.Email, }) .FirstOrDefaultAsync()); }
public async Task <ICollection <DetallePlanPagoDto> > ObtenerListaDetallePlanPagoXIds(List <int> listaSolicitudPagoIds) { return(await(from sp in _context.FormatoSolicitudPago join c in _context.CDP on new { sp.Crp, sp.PciId } equals new { c.Crp, c.PciId } join t in _context.Tercero on sp.TerceroId equals t.TerceroId join pp in _context.PlanPago on new { sp.PlanPagoId, sp.PciId } equals new { pp.PlanPagoId, pp.PciId } join p in _context.ParametroLiquidacionTercero on new { pp.TerceroId, pp.PciId } equals new { p.TerceroId, p.PciId } into ParametroTercero from pt in ParametroTercero.DefaultIfEmpty() join u in _context.Usuario on pp.UsuarioIdRegistro equals u.UsuarioId into Usuario from us in Usuario.DefaultIfEmpty() join con in _context.Contrato on new { pp.Crp, pp.PciId } equals new { con.Crp, con.PciId } into Contrato from contra in Contrato.DefaultIfEmpty() join sup in _context.Usuario on contra.Supervisor1Id equals sup.UsuarioId into Supervisor from super in Supervisor.DefaultIfEmpty() where pp.PciId == us.PciId where pp.PciId == contra.PciId where contra.PciId == super.PciId where listaSolicitudPagoIds.Contains(sp.FormatoSolicitudPagoId) where c.Instancia == (int)TipoDocumento.Compromiso select new DetallePlanPagoDto() { FormatoSolicitudPagoId = sp.FormatoSolicitudPagoId, PlanPagoId = pp.PlanPagoId, TerceroId = pp.TerceroId, Detalle4 = CortarTexto(c.Detalle4, 50), Detalle5 = super.Nombres + ' ' + super.Apellidos, Detalle6 = c.Detalle6, Detalle7 = ResumirDetalle7(c.Detalle7), ValorTotal = c.ValorTotal, SaldoActual = c.SaldoActual, Fecha = c.Fecha, Operacion = c.Operacion, ModalidadContrato = pt.ModalidadContrato, TipoPago = pt.TipoPago, Viaticos = pp.Viaticos, ViaticosDescripcion = pp.Viaticos ? "SI" : "NO", Crp = pp.Crp, NumeroPago = pp.NumeroPago, ValorFacturado = pp.ValorFacturado.HasValue ? pp.ValorFacturado.Value : 0, NumeroRadicadoSupervisor = pp.NumeroRadicadoSupervisor, FechaRadicadoSupervisor = pp.FechaRadicadoSupervisor, FechaRadicadoSupervisorFormato = pp.FechaRadicadoSupervisor.HasValue ? pp.FechaRadicadoSupervisor.Value.ToString("yyyy-MM-dd") : string.Empty, NumeroFactura = pp.NumeroFactura, Observaciones = pp.Observaciones, NumeroRadicadoProveedor = pp.NumeroRadicadoProveedor, FechaRadicadoProveedor = pp.FechaRadicadoProveedor.Value, IdentificacionTercero = t.NumeroIdentificacion, NombreTercero = CortarTexto(t.Nombre, 30), Usuario = super.Nombres + ' ' + super.Apellidos, Email = super.Email, TextoComprobanteContable = (sp.ObservacionesModificacion.Length > 100 ? sp.ObservacionesModificacion.Substring(0, 100) : sp.ObservacionesModificacion) + " " + c.Detalle7 + " " + c.Detalle6 + " PER. " + sp.FechaInicio.ToString("yyyy-MM-dd") + " A " + sp.FechaFinal.ToString("yyyy-MM-dd") + " SUP. " + super.Nombres + ' ' + super.Apellidos + " " + c.Detalle4 }) .ToListAsync()); }
//Utilizado para mostrar la cabecera de la liquidación public async Task <DetallePlanPagoDto> ObtenerDetallePlanPago(int planPagoId) { var listaCdp = (from c in _context.CDP join pp in _context.PlanPago on c.Crp equals pp.Crp where pp.PlanPagoId == planPagoId where c.Instancia == (int)TipoDocumento.Compromiso where pp.PciId == c.PciId select new CDPDto { Crp = c.Crp, Cdp = c.Cdp, PciId = c.PciId.Value, Detalle4 = c.Detalle4, Detalle6 = c.Detalle6, Detalle7 = c.Detalle7, Fecha = c.Fecha, Operacion = c.Operacion, SaldoActual = c.SaldoActual, ValorTotal = c.ValorTotal, }); var cdpAgrupado = (from i in listaCdp group i by new { i.Crp, i.Cdp, i.PciId, i.Detalle4, i.Detalle6, i.Detalle7, i.Fecha } into grp select new CDPDto() { Crp = grp.Key.Crp, Cdp = grp.Key.Cdp, PciId = grp.Key.PciId, Detalle4 = grp.Key.Detalle4, Detalle6 = grp.Key.Detalle6, Detalle7 = grp.Key.Detalle7, Fecha = grp.Key.Fecha, Operacion = grp.Sum(i => i.Operacion), SaldoActual = grp.Sum(i => i.SaldoActual), ValorTotal = grp.Sum(i => i.ValorTotal), }); return(await(from pp in _context.PlanPago join c in cdpAgrupado on pp.Crp equals c.Crp join t in _context.Tercero on pp.TerceroId equals t.TerceroId join sp in _context.FormatoSolicitudPago on pp.PlanPagoId equals sp.PlanPagoId into SolicitudPago from sol in SolicitudPago.DefaultIfEmpty() join p in _context.ParametroLiquidacionTercero on pp.TerceroId equals p.TerceroId into ParametroTercero from pt in ParametroTercero.DefaultIfEmpty() join us in _context.Usuario on pp.UsuarioIdRegistro equals us.UsuarioId into Usuario from us in Usuario.DefaultIfEmpty() join con in _context.Contrato on pp.Crp equals con.Crp into Contrato from contra in Contrato.DefaultIfEmpty() join sup in _context.Usuario on contra.Supervisor1Id equals sup.UsuarioId into Supervisor from super in Supervisor.DefaultIfEmpty() where pp.PciId == sol.PciId where pp.PciId == pt.PciId where pp.PciId == us.PciId where pp.PciId == contra.PciId where contra.PciId == super.PciId where pp.PlanPagoId == planPagoId where sol.EstadoId == (int)EstadoSolicitudPago.Aprobado select new DetallePlanPagoDto() { PlanPagoId = pp.PlanPagoId, TerceroId = pp.TerceroId, Detalle4 = CortarTexto(c.Detalle4, 50) + "...", Detalle5 = super.Nombres + ' ' + super.Apellidos, Detalle6 = c.Detalle6, Detalle7 = ResumirDetalle7(c.Detalle7), ValorTotal = c.ValorTotal, SaldoActual = c.SaldoActual, Fecha = c.Fecha, Operacion = c.Operacion, ModalidadContrato = pt.ModalidadContrato, TipoPago = pt.TipoPago, Viaticos = pp.Viaticos, ViaticosDescripcion = pp.Viaticos ? "SI" : "NO", Crp = pp.Crp, NumeroPago = pp.NumeroPago, ValorFacturado = pp.ValorFacturado.HasValue ? pp.ValorFacturado.Value : 0, NumeroRadicadoSupervisor = pp.NumeroRadicadoSupervisor, FechaRadicadoSupervisor = pp.FechaRadicadoSupervisor, FechaRadicadoSupervisorFormato = pp.FechaRadicadoSupervisor.HasValue ? pp.FechaRadicadoSupervisor.Value.ToString("yyyy-MM-dd") : string.Empty, NumeroFactura = sol.NumeroFactura, Observaciones = sol.ObservacionesModificacion.Length > 100 ? sol.ObservacionesModificacion.Substring(0, 100) : sol.ObservacionesModificacion, NumeroRadicadoProveedor = pp.NumeroRadicadoProveedor, FechaRadicadoProveedor = pp.FechaRadicadoProveedor.HasValue ? pp.FechaRadicadoProveedor.Value : null, FechaRadicadoProveedorFormato = pp.FechaRadicadoProveedor.HasValue ? pp.FechaRadicadoProveedor.Value.ToString("yyyy-MM-dd") : string.Empty, FechaInicioSolicitudPagoFormato = sol.FechaInicio.ToString("yyyy-MM-dd"), FechaFinalSolicitudPagoFormato = sol.FechaFinal.ToString("yyyy-MM-dd"), IdentificacionTercero = t.NumeroIdentificacion, NombreTercero = CortarTexto(t.Nombre, 30), Usuario = (super.Nombres + ' ' + super.Apellidos).Length > 20 ? (super.Nombres + ' ' + super.Apellidos).Substring(0, 20) : (super.Nombres + ' ' + super.Apellidos), Email = super.Email, }) .FirstOrDefaultAsync()); }