Example #1
0
        /// <summary>
        /// Cancela el pago
        /// </summary>
        public void CancelarPago()
        {
            #region Se inicia la Transaccion
            dataContext.SetCurrentProvider("Outsourcing");
            Guid firma = Guid.NewGuid();
            try
            {
                dataContext.OpenConnection(firma);
                dataContext.BeginTransaction(firma);
            }

            catch (Exception)
            {
                if (dataContext.ConnectionState == ConnectionState.Open)
                {
                    dataContext.CloseConnection(firma);
                }
                throw new Exception("Se encontraron inconsistencias al cancelar el pago.");
            }
            #endregion

            try
            {
                var usr = new UsuarioBO {
                    Id = Vista.UsuarioID
                };
                var adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = Vista.UnidadOperativaID
                    }
                };
                var seguridadBO          = new SeguridadBO(Guid.Empty, usr, adscripcion);
                PagoContratoPSLBR pagoBR = new PagoContratoPSLBR();
                pagoBR.CancelarPago(dataContext, this.Vista.PagoACancelarID, seguridadBO);
                dataContext.CommitTransaction(firma);
                this.Vista.MostrarMensaje("Se ha eliminado el pago con éxito", ETipoMensajeIU.EXITO);
                //Se actualiza el grid de pagos
                var pago = this.Vista.PagosConsultadosPSL.Where(x => x.PagoContratoID == this.Vista.PagoACancelarID).FirstOrDefault();
                this.Vista.PagosConsultadosPSL.Remove(pago);
                this.Vista.CargarPagosConsultados();
            }
            catch (Exception ex)
            {
                dataContext.RollbackTransaction(firma);
                throw new Exception(nombreClase + ".CancelarPago:" + ex.Message);
            }
            finally
            {
                if (dataContext.ConnectionState == ConnectionState.Open)
                {
                    dataContext.CloseConnection(firma);
                }
            }
        }
Example #2
0
        /// <summary>
        /// Constructor por defecto de la Consulta
        /// </summary>
        /// <param name="vista">Vista de la Consulta</param>
        public ConsultarPagosNoFacturadosPRE(IConsultarPagosNoFacturadosVIS vista)
        {
            if (vista == null)
            {
                throw new ArgumentNullException("vista");
            }
            Vista       = vista;
            dataContext = FacadeBR.ObtenerConexion();

            Controlador    = new PagoUnidadContratoBR();
            ControladorPSL = new PagoContratoPSLBR();
        }
        public PagosMasterPRE(IPagosMasterVIS vista)
        {
            if (vista == null)
            {
                throw new ArgumentNullException("vista");
            }
            Vista = vista;

            dataContext = FacadeBR.ObtenerConexion();

            Controlador    = new PagoUnidadContratoBR();
            ControladorPSL = new PagoContratoPSLBR();
        }
        private List <PagoContratoPSLBO> ObtenerPagosContrato(int?contratoId)
        {
            var result = new List <PagoContratoPSLBO>();

            PagoContratoPSLBR pagosBr = new PagoContratoPSLBR();

            result = pagosBr.Consultar(dctx, new PagoContratoPSLBO {
                ReferenciaContrato = new ReferenciaContratoBO {
                    ReferenciaContratoID = contratoId
                }
            });

            return(result.Cast <PagoContratoPSLBO>().ToList());
        }
        /// <summary>
        /// Decide que controlador usar para consultar pagos
        /// </summary>
        private List <PagoContratoPSLBO> ConsultarPagos(Int32?pagoId, Int32?referenciaContratoId, Boolean esCompleto)
        {
            var listaPagos           = new List <PagoContratoPSLBO>();
            PagoContratoPSLBR pagoBr = new PagoContratoPSLBR();
            PagoContratoPSLBO pago   = new PagoContratoPSLBOF();


            if (pagoId != null)
            {
                pago.PagoContratoID = pagoId;
            }
            if (referenciaContratoId != null)
            {
                pago.ReferenciaContrato = new ReferenciaContratoBO()
                {
                    ReferenciaContratoID = referenciaContratoId
                }
            }
            ;

            listaPagos.AddRange(esCompleto ? pagoBr.ConsultarCompleto(this.dataContext, pago) : pagoBr.Consultar(this.dataContext, pago));
            return(listaPagos);
        }
        /// <summary>
        /// Realiza la impresión del Historico de Pagos para una referencia de Contrato Seleccionada
        /// </summary>
        public void ImprimirPagos()
        {
            try
            {
                var numeroContrato = Vista.NumeroContrato;

                // Validar la Informacion de la Referencia de Contrato Seleccionada
                var msg = ValidarDatos(numeroContrato);

                if (!string.IsNullOrEmpty(msg))
                {
                    Vista.MostrarMensaje(msg, ETipoMensajeIU.ADVERTENCIA);
                    return;
                }


                // Validar la existencia de folio del contrato
                var contratoBR = new ContratoBR();
                var contratos  = contratoBR.Consultar(dataContext, new ContratoProxyBO {
                    NumeroContrato = numeroContrato.ToUpper()
                });
                if (!contratos.Any())
                {
                    Vista.MostrarMensaje("No existe un Contrato con el Folio proporcionado.", ETipoMensajeIU.ADVERTENCIA);
                    return;
                }

                var referencia = contratos.First();
                var usuario    = new UsuarioBO {
                    Id = Vista.UsuarioId
                };
                var unidadOperativa = new UnidadOperativaBO {
                    Id = Vista.UnidadOperativaId
                };
                var sucursales = ConsultarSucursales(usuario, unidadOperativa);

                // Validar que el contrato pertenezca a una sucursal del usuario
                if (sucursales.All(x => x.Id != referencia.Sucursal.Id))
                {
                    Vista.MostrarMensaje("El Folio del Contrato proporcionado pertence a una sucursal no asignada al usuario.", ETipoMensajeIU.ADVERTENCIA);
                    return;
                }

                // Validar la existencia de Pagos del Contrato
                int conteo = 0;
                ReferenciaContratoBO referenciaContrato = new ReferenciaContratoBO {
                    ReferenciaContratoID = referencia.ContratoID, UnidadOperativa = unidadOperativa
                };

                switch (referencia.Tipo)
                {
                case ETipoContrato.RO:
                case ETipoContrato.RE:
                case ETipoContrato.ROC:
                    PagoContratoPSLBOF pagoPsl = new PagoContratoPSLBOF()
                    {
                        ReferenciaContrato = referenciaContrato, Sucursales = sucursales
                    };
                    PagoContratoPSLBR pagosPslBR = new PagoContratoPSLBR();
                    conteo = pagosPslBR.ContarPagos(dataContext, pagoPsl);
                    break;

                default:
                    PagoUnidadContratoBOF pago = new PagoUnidadContratoBOF {
                        ReferenciaContrato = referenciaContrato, Sucursales = sucursales
                    };
                    PagoUnidadContratoBR pagosBR = new PagoUnidadContratoBR();
                    conteo = pagosBR.ContarPagos(dataContext, pago);
                    break;
                }

                if (conteo == 0)
                {
                    Vista.MostrarMensaje("El contrato no cuenta con pagos generados.", ETipoMensajeIU.ADVERTENCIA);
                    return;
                }

                //Obtener Datos de Reporte
                var adscripcion = new AdscripcionBO {
                    UnidadOperativa = unidadOperativa
                };
                var seguridad      = new SeguridadBO(Guid.Empty, usuario, adscripcion);
                var imprmirPagosBR = new ImprimirPagosBR();
                var datosReporte   = imprmirPagosBR.ObtenerDatosHistoricoPagos(dataContext,
                                                                               referenciaContrato, unidadOperativa, seguridad, this.Vista.URLLogoEmpresa);

                Vista.EstablecerPaqueteNavegacionImprimir(codigoImprimirHistorico, datosReporte);
                Vista.IrAImprimirHistorico();
            }
            catch (Exception ex)
            {
                var strMetodo = new StackFrame().GetMethod().Name;
                var strMsg    = string.Format("{0}.{1}: {2}", nombreClase, strMetodo, ex.Message);
                Vista.MostrarMensaje("Inconsistencias al Desplegar los Pagos del Contrato", ETipoMensajeIU.ERROR, strMsg);
            }
        }