Exemple #1
0
        private List <CDPDto> obtenerListaOrdenPago(OrdenPago.tipoPagoTercero dtDetalle)
        {
            CDPDto        documento      = null;
            List <CDPDto> listaDocumento = new List <CDPDto>();

            foreach (var item in dtDetalle.listaItemPagoTercero)
            {
                documento           = new CDPDto();
                documento.OrdenPago = item.codOrdenPago;
                documento.Fecha     = item.fechaPago;
                documento.Instancia = (int)TipoDocumento.OrdenPago;

                if (item.terceroBeneficiarioPago != null)
                {
                    documento.NumeroIdentificacionTercero = item.terceroBeneficiarioPago.numDocIdentidad;
                }
                // documento.Detalle1 = item.estado;
                // documento.Detalle4 = item.objeto;

                // foreach (var itemAfectacion in item.)
                // {
                //     documento.ValorInicial = itemAfectacion.valorInicial;
                //     documento.ValorTotal = itemAfectacion.valorActual;
                //     documento.SaldoActual = itemAfectacion.saldoComp;
                //     documento.Operacion = itemAfectacion.valorOperacion;
                //     documento.Detalle2 = itemAfectacion.codDepAfectacion;
                //     documento.Detalle3 = itemAfectacion.nomDepAfectacion;
                //     documento.IdentificacionRubro = itemAfectacion.codPosicionGasto;
                // }
                listaDocumento.Add(documento);
            }
            return(listaDocumento);
        }
Exemple #2
0
        private List <CDPDto> obtenerListaCDP(Cdp.tipoCDP dtDetalle)
        {
            CDPDto        documento      = null;
            List <CDPDto> listaDocumento = new List <CDPDto>();

            foreach (var item in dtDetalle.listaItemCDP)
            {
                foreach (var itemAfectacion in item.listaItemAfectacion)
                {
                    documento           = new CDPDto();
                    documento.Cdp       = item.codCDP;
                    documento.Fecha     = item.fechaRegistro;
                    documento.Instancia = (int)TipoDocumento.Cdp;
                    documento.Detalle1  = item.estado;
                    documento.Detalle4  = item.objeto;

                    documento.ValorInicial        = itemAfectacion.valorInicial;
                    documento.ValorTotal          = itemAfectacion.valorActual;
                    documento.SaldoActual         = itemAfectacion.saldoComp;
                    documento.Operacion           = itemAfectacion.valorOperacion;
                    documento.Detalle2            = itemAfectacion.codDepAfectacion;
                    documento.Detalle3            = itemAfectacion.nomDepAfectacion;
                    documento.IdentificacionRubro = itemAfectacion.codPosicionGasto;
                }
                listaDocumento.Add(documento);
            }
            return(listaDocumento);
        }
Exemple #3
0
        private async Task RegistrarListaPlanPago(CDPDto cdp, List <LineaPlanPagoDto> lista)
        {
            valorPciId = User.FindFirst(ClaimTypes.Role).Value;
            if (!string.IsNullOrEmpty(valorPciId))
            {
                pciId = int.Parse(valorPciId);
            }
            List <PlanPago> listaPlanPago = new List <PlanPago>();
            PlanPago        planPago      = null;
            int             numeroPagos   = 1;
            DateTime        fechaActual   = _generalInterface.ObtenerFechaHoraActual();
            int             mesAnterior   = 0;

            if (lista != null && lista.Count > 0)
            {
                foreach (var item in lista)
                {
                    planPago       = MapearPlanPago(cdp, fechaActual.Year, item.MesId, item.Valor, numeroPagos, item.Viaticos);
                    planPago.PciId = pciId;
                    listaPlanPago.Add(planPago);
                    mesAnterior = item.MesId;
                    numeroPagos++;
                }

                await _dataContext.PlanPago.AddRangeAsync(listaPlanPago);

                await _dataContext.SaveChangesAsync();
            }
        }
Exemple #4
0
        private void InsertarTercero(CDPDto documento)
        {
            var tercero = new Tercero();

            tercero.NumeroIdentificacion = documento.NumeroIdentificacionTercero;
            tercero.TipoIdentificacion   = documento.TipoIdentificacionTercero;
            tercero.Nombre = documento.NombreTercero;
            _context.Tercero.Add(tercero);
            _context.SaveChanges();
        }
Exemple #5
0
        private List <CDPDto> obtenerListaObligacion(Obligacion.tipoObligacionPptal dtDetalle)
        {
            int           tipoDocumentoId = 0;
            CDPDto        documento       = null;
            List <CDPDto> listaDocumento  = new List <CDPDto>();

            foreach (var item in dtDetalle.listaItemObligacion)
            {
                foreach (var itemAfectacion in item.listaItemAfectacion)
                {
                    documento            = new CDPDto();
                    documento.Obligacion = item.codObligacion;
                    documento.Fecha      = item.fechaRegistro;
                    documento.Instancia  = (int)TipoDocumento.Obligacion;
                    documento.Detalle1   = item.estado;


                    if (item.docRelacion != null)
                    {
                        documento.Cdp       = item.docRelacion.codCDP;
                        documento.Crp       = item.docRelacion.codCompromiso;
                        documento.OrdenPago = item.docRelacion.codOrdenPago.HasValue ? item.docRelacion.codOrdenPago.Value : 0;
                    }

                    if (item.datosAdminObligacion != null)
                    {
                        documento.Detalle4 = item.datosAdminObligacion.notas;
                        documento.Detalle6 = item.datosAdminObligacion.numDocSoporte;
                        documento.Detalle7 = item.datosAdminObligacion.nomTipoDocSoporte;
                    }

                    if (item.terceroBeneficiario != null)
                    {
                        if (Int32.TryParse(item.terceroBeneficiario.codTipoDocumento, out tipoDocumentoId))
                        {
                            documento.TipoIdentificacionTercero = tipoDocumentoId;
                        }
                        documento.NumeroIdentificacionTercero = item.terceroBeneficiario.numDocIdentidad;
                        documento.NombreTercero = item.terceroBeneficiario.nomTercero;
                    }

                    documento.ValorInicial        = itemAfectacion.valorInicial;
                    documento.ValorTotal          = itemAfectacion.valorActual;
                    documento.SaldoActual         = itemAfectacion.saldoUtilizar;
                    documento.Operacion           = itemAfectacion.valorOperaciones;
                    documento.Detalle2            = itemAfectacion.codDepAfectacion;
                    documento.Detalle3            = itemAfectacion.nomDepAfectacion;
                    documento.IdentificacionRubro = itemAfectacion.codPosicionGasto;
                    listaDocumento.Add(documento);
                }
            }
            return(listaDocumento);
        }
Exemple #6
0
        private PlanPago MapearPlanPago(CDPDto cdp, int anio, int mesPago, decimal valor, int numeroPago, bool viaticos)
        {
            var planPago = new PlanPago();

            planPago.Crp = cdp.Crp;
            planPago.EstadoPlanPagoId = (int)EstadoPlanPago.PorPagar;
            planPago.Cdp             = cdp.Cdp;
            planPago.AnioPago        = anio;
            planPago.MesPago         = mesPago;
            planPago.ValorInicial    = valor;
            planPago.ValorAdicion    = 0;
            planPago.ValorAPagar     = valor;
            planPago.SaldoDisponible = valor;
            planPago.Viaticos        = viaticos;
            planPago.TerceroId       = cdp.TerceroId;
            planPago.NumeroPago      = numeroPago;
            planPago.PciId           = pciId;

            planPago.UsuarioIdRegistro = usuarioId;
            planPago.FechaRegistro     = _generalInterface.ObtenerFechaHoraActual();

            return(planPago);
        }
Exemple #7
0
        private async Task ActualizarListaPlanPago(CDPDto cdp, List <LineaPlanPagoDto> listaTotal)
        {
            valorPciId = User.FindFirst(ClaimTypes.Role).Value;
            if (!string.IsNullOrEmpty(valorPciId))
            {
                pciId = int.Parse(valorPciId);
            }
            int             numeroPagos   = 1;
            List <PlanPago> listaPlanPago = new List <PlanPago>();
            PlanPago        planPago      = null;
            DateTime        fechaActual   = _generalInterface.ObtenerFechaHoraActual();

            #region Registrar nuevos

            List <LineaPlanPagoDto> listaNueva = listaTotal
                                                 .Where(x => x.EstadoModificacion == (int)EstadoModificacion.Insertado)
                                                 .OrderBy(x => x.MesId)
                                                 .ToList();

            if (listaNueva != null && listaNueva.Count > 0)
            {
                var listaActualXCompromiso = await _repo.ObtenerLineasPlanPagoXCompromiso((int)cdp.Crp, pciId);

                foreach (var item in listaNueva)
                {
                    var planesPagoBD = listaActualXCompromiso.ToList();

                    if (planesPagoBD == null)
                    {
                        numeroPagos = 1;
                    }
                    else
                    {
                        if (numeroPagos == 1)
                        {
                            numeroPagos = planesPagoBD.Count() + 1;
                        }
                    }

                    planPago = MapearPlanPago(cdp, fechaActual.Year, item.MesId, item.Valor, numeroPagos, item.Viaticos);

                    listaPlanPago.Add(planPago);
                    numeroPagos++;
                }

                await _dataContext.PlanPago.AddRangeAsync(listaPlanPago);

                await _dataContext.SaveChangesAsync();
            }

            #endregion Registrar nuevos

            #region Actualizar registros

            List <LineaPlanPagoDto> listaModificada = listaTotal
                                                      .Where(x => x.EstadoModificacion == (int)EstadoModificacion.Modificado)
                                                      .ToList();

            if (listaModificada != null && listaModificada.Count > 0)
            {
                foreach (var item in listaModificada)
                {
                    planPago = await _repo.ObtenerPlanPagoBase(item.PlanPagoId);

                    if (planPago != null)
                    {
                        planPago.ValorInicial          = item.Valor;
                        planPago.ValorAdicion          = 0;
                        planPago.ValorAPagar           = item.Valor;
                        planPago.SaldoDisponible       = 0;
                        planPago.UsuarioIdModificacion = usuarioId;
                        planPago.Viaticos          = item.Viaticos;
                        planPago.FechaModificacion = _generalInterface.ObtenerFechaHoraActual();
                        await _dataContext.SaveChangesAsync();
                    }
                }
            }

            #endregion Actualizar registros
        }
Exemple #8
0
        public List <CDPDto> obtenerListaDeCDP(DataTable dtCabecera)
        {
            CDPDto        documento      = null;
            List <CDPDto> listaDocumento = new List <CDPDto>();
            int           numValue       = 0;
            decimal       value          = 0;
            DateTime      fecha;

            foreach (var row in dtCabecera.Rows)
            {
                documento = new CDPDto();

                //Instancia
                if (!(row as DataRow).ItemArray[0].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[0].ToString(), out numValue))
                    {
                        documento.Instancia = numValue;
                    }
                }

                //Cdp
                if (!(row as DataRow).ItemArray[1].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[1].ToString(), out numValue))
                    {
                        documento.Cdp = numValue;
                    }
                }

                //Crp
                if (!(row as DataRow).ItemArray[2].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[2].ToString(), out numValue))
                    {
                        documento.Crp = numValue;
                    }
                }

                //Obligacion
                if (!(row as DataRow).ItemArray[3].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[3].ToString(), out numValue))
                    {
                        documento.Obligacion = numValue;
                    }
                }

                //OrdenPago
                if (!(row as DataRow).ItemArray[4].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[4].ToString(), out numValue))
                    {
                        documento.OrdenPago = numValue;
                    }
                }

                //Fecha
                if (!(row as DataRow).ItemArray[5].ToString().Equals(string.Empty))
                {
                    if (DateTime.TryParse((row as DataRow).ItemArray[5].ToString(), out fecha))
                    {
                        documento.Fecha = fecha;
                    }
                }

                documento.Detalle1 = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[7].ToString(), maxLongitudDetalle);

                //Rubro
                documento.IdentificacionRubro = (row as DataRow).ItemArray[8].ToString().Trim();

                if (!(row as DataRow).ItemArray[9].ToString().Equals(string.Empty))
                {
                    if (decimal.TryParse((row as DataRow).ItemArray[9].ToString(), out value))
                    {
                        documento.ValorInicial = value;
                    }
                }

                if (!(row as DataRow).ItemArray[10].ToString().Equals(string.Empty))
                {
                    if (decimal.TryParse((row as DataRow).ItemArray[10].ToString(), out value))
                    {
                        documento.Operacion = value;
                    }
                }

                if (!(row as DataRow).ItemArray[11].ToString().Equals(string.Empty))
                {
                    if (decimal.TryParse((row as DataRow).ItemArray[11].ToString(), out value))
                    {
                        documento.ValorTotal = value;
                    }
                }

                if (!(row as DataRow).ItemArray[12].ToString().Equals(string.Empty))
                {
                    if (decimal.TryParse((row as DataRow).ItemArray[12].ToString(), out value))
                    {
                        documento.SaldoActual = value;
                    }
                }

                documento.Detalle2 = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[13].ToString(), maxLongitudDetalle);
                documento.Detalle3 = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[14].ToString(), maxLongitudDetalle);
                documento.Detalle4 = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[16].ToString(), 4000);

                if (!(row as DataRow).ItemArray[17].ToString().Equals(string.Empty))
                {
                    if (Int32.TryParse((row as DataRow).ItemArray[17].ToString(), out numValue))
                    {
                        documento.TipoIdentificacionTercero = numValue;
                    }
                }

                documento.NumeroIdentificacionTercero = (row as DataRow).ItemArray[18].ToString();

                documento.Detalle5  = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[20].ToString(), maxLongitudDetalle);
                documento.Detalle6  = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[21].ToString(), maxLongitudDetalle);
                documento.Detalle7  = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[22].ToString(), maxLongitudDetalle);
                documento.Detalle8  = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[23].ToString(), maxLongitudDetalle);
                documento.Detalle9  = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[24].ToString(), maxLongitudDetalle);
                documento.Detalle10 = this.ObtenerCadenaLimitada((row as DataRow).ItemArray[25].ToString(), maxLongitudDetalle);
                //PCI
                documento.Pci = (row as DataRow).ItemArray[26].ToString();

                listaDocumento.Add(documento);
            }

            return(listaDocumento);
        }