Beispiel #1
0
        /// <summary>Método que registra actividades.</summary>
        /// <param name="objPersona">Entidad con los datos de la entidad.</param>
        /// <returns>.</returns>
        /// <remarks><list type="bullet">
        /// <item><CreadoPor>Bryan Luna Vasquez</CreadoPor></item>
        /// <item><FecCrea>13/02/2018.</FecCrea></item></list>
        /// <list type="bullet">
        /// <item><FecActu>XX/XX/XXXX.</FecActu></item>
        /// <item><Resp>Responsable.</Resp></item>
        /// <item><Mot>Motivo.</Mot></item></list></remarks>
        public static void AprobarPago(PagoRequestDto request)
        {
            int  estadoAprobado;
            int  estadoPendiente;
            Pago objPagoDatos;
            Pago objPago;

            objPago                     = request.Pago;
            objPagoDatos                = PagoData.ObtenerPago(objPago.PagoId);
            estadoAprobado              = Convert.ToInt32(Constantes.Tablas.EstadoAprobacion.APROBADO);
            estadoPendiente             = Convert.ToInt32(Constantes.Tablas.EstadoAprobacion.PENDIENTE);
            objPago.EstadoId            = estadoAprobado;
            objPago.FechaHoraAprobacion = DateTime.Now;

            try
            {
                if (objPagoDatos.EstadoId != estadoPendiente)
                {
                    BusinessException.Generar(Constantes.Mensajes.PAGO_NOELIMINAR);
                }

                using (TransactionScope tran = new TransactionScope())
                {
                    PagoData.CambiarEstado(objPago);
                    EstadoCuentaData.AgregarPago(objPagoDatos.EstadoCuentaId, objPagoDatos.Monto);
                    tran.Complete();
                }
            }
            catch (Exception ex)
            {
                Log.RegistrarLog(NivelLog.Error, ex);
                throw;
            }
        }
Beispiel #2
0
        /// <summary>Invoca al Procedimiento almacenado que lista Usuarios.</summary>
        /// <param name="objFiltro">Parámetros para el filtro de Listar las Usuarios</param>
        ///<remarks>
        ///<list type = "bullet">
        ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item>
        ///<item><FecCrea>19/02/2018</FecCrea></item></list>
        ///<list type="bullet">
        /// <item><FecActu>XX/XX/XXXX.</FecActu></item>
        /// <item><Resp>Responsable.</Resp></item>
        /// <item><Mot>Motivo.</Mot></item></list></remarks>
        public static EstadoCuentaResponseDto ListarDatosEstadoCuentaPorCampania(int depaId, string codigoCampania)
        {
            try
            {
                EstadoCuentaResponseDto             response;
                MontosEstadoCuentaListaDto          montosEstadoCuenta;
                List <DetalleEstadoCuentaListaDto>  listaDetalleEstadoCuenta;
                List <PagosPorEstadoCuentaListaDto> listaPagosPorEstadoCuenta;
                int      diasRetraso;
                DateTime fechaActual;
                DateTime fechaVencimiento;

                fechaActual        = DateTime.Now;
                montosEstadoCuenta = EstadoCuentaData.ObtenerMontosPeriodo(depaId, codigoCampania);
                if (montosEstadoCuenta == null)
                {
                    listaDetalleEstadoCuenta  = new List <DetalleEstadoCuentaListaDto>();
                    listaPagosPorEstadoCuenta = new List <PagosPorEstadoCuentaListaDto>();
                    diasRetraso        = 0;
                    montosEstadoCuenta = new MontosEstadoCuentaListaDto();
                    fechaVencimiento   = new DateTime();
                }
                else
                {
                    listaDetalleEstadoCuenta  = EstadoCuentaDetalleData.ListaDetalleEstadoCuenta(montosEstadoCuenta.EstadoCuentaId);
                    listaPagosPorEstadoCuenta = PagoData.ListaPagosPorEstadoCuenta(montosEstadoCuenta.EstadoCuentaId);
                    fechaVencimiento          = Funciones.Check.Datetime(montosEstadoCuenta.FechaVencimiento).Value;

                    if (montosEstadoCuenta.Saldo > 0)
                    {
                        diasRetraso = (fechaActual - fechaVencimiento).Days;
                        if (diasRetraso < 0)
                        {
                            diasRetraso = 0;
                        }
                    }
                    else
                    {
                        diasRetraso = 0;
                    }
                }

                response = new EstadoCuentaResponseDto
                {
                    MontosEstadoCuenta       = montosEstadoCuenta,
                    DiasRetraso              = diasRetraso,
                    ListaDetalleEstadoCuenta = listaDetalleEstadoCuenta,
                    ListaPagosEstadoCuenta   = listaPagosPorEstadoCuenta
                };

                return(response);
            }
            catch (Exception ex)
            {
                Log.RegistrarLog(NivelLog.Error, ex);
                throw;
            }
        }
Beispiel #3
0
        /// <summary>Invoca al Procedimiento almacenado que lista Usuarios.</summary>
        /// <param name="objFiltro">Parámetros para el filtro de Listar las Usuarios</param>
        ///<remarks>
        ///<list type = "bullet">
        ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item>
        ///<item><FecCrea>19/02/2018</FecCrea></item></list>
        ///<list type="bullet">
        /// <item><FecActu>XX/XX/XXXX.</FecActu></item>
        /// <item><Resp>Responsable.</Resp></item>
        /// <item><Mot>Motivo.</Mot></item></list></remarks>
        public static HomeResponseDto ListaDatosHome(int depaId)
        {
            try
            {
                HomeResponseDto         response;
                string                  campaniaActual;
                decimal                 deudaActual;
                int                     campaniasDebe;
                int                     diasRetraso;
                string                  textoMostrarDias;
                string                  textoAlDia;
                bool                    tieneRetraso;
                DateTime?               fechaUltimoVencimiento;
                List <GenericoListaDto> listaCampanias;
                List <ReporteGastosMensualEdificioResumido> listaGastosMensualResumido;
                List <DepasEstadoHomeListaDto> listaDepasEstado;
                List <ReporteEstadoCuentaMensualResumidoListaDto> listaReporteEstadoCuentaMensualResumido;
                DateTime     fechaActual;
                int          edificioId;
                Departamento objDepa;
                Campania     objCampaniaActual;

                objDepa        = DepartamentoData.ObtenerDepartamento(depaId);
                edificioId     = objDepa.EdificioId;
                deudaActual    = DepartamentoData.ObtenerDeudaActual(depaId);
                campaniasDebe  = DepartamentoData.ObtenerCampaniasDebe(depaId);
                listaCampanias = new List <GenericoListaDto>();
                foreach (var item in Funciones.ListarCampaniasParaFiltro())
                {
                    listaCampanias.Add(new GenericoListaDto {
                        Codigo = item.Codigo, Descripcion = item.Descripcion
                    });
                }
                listaGastosMensualResumido = CampaniaData.ReporteProgresoMensualEdificioResumido(edificioId);
                listaGastosMensualResumido = listaGastosMensualResumido.OrderBy(x => x.Campania).ToList();
                fechaUltimoVencimiento     = EstadoCuentaData.ObtenerFechaPrimerVencido(depaId);
                fechaActual       = DateTime.Now;
                diasRetraso       = (fechaActual - fechaUltimoVencimiento).Value.Days;
                objCampaniaActual = CampaniaData.ObtenerCampaniaActual(edificioId);
                listaReporteEstadoCuentaMensualResumido = EstadoCuentaData.ReporteMensualResumido(depaId);
                listaReporteEstadoCuentaMensualResumido = listaReporteEstadoCuentaMensualResumido.OrderBy(x => x.Anio).ThenBy(x => x.MesId).ToList();
                //listaReporteEstadoCuentaMensualResumido = listaReporteEstadoCuentaMensualResumido.OrderBy(x => x.MesId).ToList();
                campaniaActual = objCampaniaActual.Codigo;

                if (diasRetraso > 0)
                {
                    tieneRetraso     = true;
                    textoAlDia       = Constantes.Mensajes.TEXTO_NOAL_DIA;
                    textoMostrarDias = string.Format(Constantes.Mensajes.DIAS_RETRASO, diasRetraso);
                }
                else if (diasRetraso < 0)
                {
                    tieneRetraso     = false;
                    textoAlDia       = Constantes.Mensajes.TEXTO_AL_DIA;
                    textoMostrarDias = string.Format(Constantes.Mensajes.DIAS_FALTANTES, diasRetraso);
                }
                else
                {
                    tieneRetraso     = true;
                    textoAlDia       = Constantes.Mensajes.TEXTO_NOAL_DIA;
                    textoMostrarDias = string.Format(Constantes.Mensajes.HOY_DIOPAGO);
                }

                listaDepasEstado = DepartamentoData.ListarEstadosHome(edificioId);

                foreach (var item in listaDepasEstado)
                {
                    item.Debe = ((item.FechaVencimiento <= fechaActual || item.FechaVencimiento == null) && item.Saldo > 0);
                }

                foreach (var item in listaReporteEstadoCuentaMensualResumido)
                {
                    item.Campania = Funciones.ObtenerDescripcionCampania(item.MesId, item.Anio);
                    item.AlDia    = !(item.FechaVencimiento <= fechaActual && item.Saldo > 0);
                }

                response = new HomeResponseDto
                {
                    CampaniaActual      = campaniaActual,
                    DeudaActual         = deudaActual,
                    CampaniasDebe       = campaniasDebe,
                    ListaCampanias      = listaCampanias,
                    ListaDepasEstado    = listaDepasEstado,
                    ListaGastosMensual  = listaGastosMensualResumido,
                    TieneRetraso        = tieneRetraso,
                    TextoMostrarRetraso = textoMostrarDias,
                    TextoAlDia          = textoAlDia,
                    ListaReporteEstadoCuentaResumido = listaReporteEstadoCuentaMensualResumido
                };

                return(response);
            }
            catch (Exception ex)
            {
                Log.RegistrarLog(NivelLog.Error, ex);
                throw;
            }
        }