示例#1
0
        //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());
        }
示例#2
0
        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());
        }
示例#3
0
        //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());
        }