Пример #1
0
        public async Task <ActionResult> ObtenerRubrosPresupuestalesXCompromiso([FromQuery(Name = "crp")] int crp)
        {
            try
            {
                valorPciId = User.FindFirst(ClaimTypes.Role).Value;
                if (!string.IsNullOrEmpty(valorPciId))
                {
                    pciId = int.Parse(valorPciId);
                }

                string identificacionPCI = string.Empty;
                var    pci = await _listaRepository.ObtenerPci(pciId);

                if (pci != null)
                {
                    identificacionPCI = pci.Identificacion;
                }

                var lista = await _repo.ObtenerRubrosPresupuestalesXCompromiso(crp, pciId);

                foreach (var item in lista)
                {
                    item.Pci = identificacionPCI;
                }

                return(Ok(lista));
            }
            catch (Exception)
            {
                throw;
            }

            throw new Exception($"No se pudo obtener los rubros presupuestales");
        }
Пример #2
0
        public async Task <ICollection <DetalleLiquidacionParaArchivo> > ObtenerListaDetalleLiquidacionParaArchivo(List <int> listaLiquidacionId, int pciId)
        {
            List <DetalleLiquidacionParaArchivo> listaFinal = new List <DetalleLiquidacionParaArchivo>();
            string identificacionPCI = string.Empty;
            var    pci = await _listaRepository.ObtenerPci(pciId);

            if (pci != null)
            {
                identificacionPCI = pci.Identificacion;
            }

            var lista = await(from dl in _context.DetalleLiquidacion
                              join t in _context.Tercero on dl.TerceroId equals t.TerceroId
                              join p in _context.ParametroLiquidacionTercero on dl.TerceroId equals p.TerceroId into parametroLiquidacion
                              from pl in parametroLiquidacion.DefaultIfEmpty()
                              join tc in _context.TipoCuentaXPagar on pl.TipoCuentaXPagarId equals tc.TipoCuentaXPagarId into CuentaPorPagar
                              from tiCu in CuentaPorPagar.DefaultIfEmpty()
                              join tds in _context.TipoDocumentoSoporte on pl.TipoDocumentoSoporteId equals
                              tds.TipoDocumentoSoporteId into DocumentoSoporte
                              from tipoDocu in DocumentoSoporte.DefaultIfEmpty()
                              where dl.PciId == pl.PciId
                              where (listaLiquidacionId.Contains(dl.DetalleLiquidacionId))
                              where dl.PciId == pciId
                              where (dl.Procesado == false)
                              select new DetalleLiquidacionParaArchivo()
            {
                PCI                        = identificacionPCI,
                FechaActual                = System.DateTime.Now.ToString("yyyy-MM-dd"),
                TipoIdentificacion         = t.TipoIdentificacion,
                NumeroIdentificacion       = t.NumeroIdentificacion,
                Crp                        = dl.Crp,
                TipoCuentaXPagarCodigo     = pl.TipoCuentaXPagarId > 0 ? tiCu.Codigo : string.Empty,
                TotalACancelar             = decimal.Round(dl.TotalACancelar, 2, MidpointRounding.AwayFromZero),
                ValorIva                   = decimal.Round(dl.ValorIva, 2, MidpointRounding.AwayFromZero),
                TextoComprobanteContable   = dl.TextoComprobanteContable.Length > 220 ? dl.TextoComprobanteContable.Substring(0, 220) : dl.TextoComprobanteContable,
                TipoDocumentoSoporteCodigo = pl.TipoDocumentoSoporteId > 0 ? tipoDocu.Codigo : string.Empty,
                NumeroFactura              = dl.NumeroFactura,
                ConstanteNumero            = "16",
                NombreSupervisor           = dl.NombreSupervisor,
                ConstanteCargo             = "CargoSupervisor",
                FechaRegistro              = dl.FechaRegistro.Value
            })
                        .ToListAsync();

            if (lista != null && lista.Count > 0)
            {
                listaFinal = lista.OrderBy(x => x.FechaRegistro).ToList();
            }

            return(listaFinal);
        }