public ActionResult exibirRecibo(string t)
        {
            int idTitulo = UtilNumber.toInt32(UtilCrypt.toBase64Decode(t));

            var OTituloReceita = this.OTituloReceitaBL.carregar(idTitulo);

            if (OTituloReceita == null)
            {
                return(HttpNotFound());
            }

            if (!OTituloReceita.dtQuitacao.HasValue)
            {
                return(HttpNotFound());
            }

            var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OTituloReceita.idOrganizacao);

            var ConfiguracaoRecibo = ConfiguracaoReciboBL.getInstance.carregar(OTituloReceita.idOrganizacao);

            if (ConfiguracaoRecibo == null)
            {
                throw new Exception("Configurações de recibo não localizadas.");
            }

            var htmlRecibo = ConfiguracaoRecibo.htmlRecibo;

            var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OTituloReceita.id);

            htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OTituloReceita.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA));

            htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo);

            htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal));

            htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario));

            htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep)));

            htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado));

            htmlRecibo = htmlRecibo.Replace("#NUMERO#", OTituloRecibo.id.ToString().PadLeft(8, '0'));

            var valorTotal = decimal.Add(OTituloRecibo.valorTotal.toDecimal(), OTituloRecibo.valorTotalJuros.toDecimal());

            valorTotal = decimal.Subtract(valorTotal, UtilNumber.toDecimal(OTituloRecibo.valorDesconto));

            DateTime dtQuitacao = OTituloRecibo.dtQuitacao.GetValueOrDefault();

            htmlRecibo = htmlRecibo.Replace("#VALOR#", valorTotal.ToString("C"));

            htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo);

            htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo));

            htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OTituloRecibo.descricao);

            htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(dtQuitacao.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(dtQuitacao.Month), " de ", dtQuitacao.Year.ToString()));

            htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("tc", t));

            var ViewModel = new ReciboVM();

            ViewModel.htmlRecibo = htmlRecibo;

            return(View(ViewModel));
        }
        public ActionResult exibirRecibo(string i)
        {
            int idInscricao = UtilNumber.toInt32(UtilCrypt.toBase64Decode(i));

            var OAssociadoInscricao = this.OAssociadoContribuicaoBL.carregar(idInscricao);

            if (OAssociadoInscricao == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O pagamento informado não foi localizado no sistema"));

                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id);

            if (OTitulo == null && OAssociadoInscricao.dtPagamento.HasValue)
            {
                this.OTituloReceitaGeradorBL.gerar(OAssociadoInscricao as object);

                OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id);

                OTitulo.dtQuitacao = OAssociadoInscricao.dtPagamento;

                this.OTituloReceitaGeradorBL.salvar(OTitulo);
            }

            if (OTitulo == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O título de pagamento informado não pôde ser localizado."));
                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OAssociadoInscricao.idOrganizacao);

            string htmlRecibo = ConfiguracaoReciboBL.getInstance.carregar().htmlRecibo;

            if (htmlRecibo.isEmpty())
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não existem configurações de recibo no momento."));
                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OTitulo.id);

            htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OTitulo.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA));

            htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo);

            htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal));

            htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario));

            htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep)));

            htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado));

            htmlRecibo = htmlRecibo.Replace("#NUMERO#", OTituloRecibo.id.ToString().PadLeft(8, '0'));

            var valorTotal = decimal.Add(OTituloRecibo.valorTotal.toDecimal(), OTituloRecibo.valorTotalJuros.toDecimal());

            valorTotal = decimal.Subtract(valorTotal, UtilNumber.toDecimal(OTituloRecibo.valorDesconto));

            DateTime dtQuitacao = OTituloRecibo.dtQuitacao.GetValueOrDefault();

            htmlRecibo = htmlRecibo.Replace("#VALOR#", valorTotal.ToString("C"));

            htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo);

            htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo));

            htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OTituloRecibo.descricao);

            htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(dtQuitacao.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(dtQuitacao.Month), " de ", dtQuitacao.Year.ToString()));

            htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("ctb", i));

            var ViewModel = new ReciboVM();

            ViewModel.htmlRecibo = htmlRecibo;

            return(View(ViewModel));
        }
        public ActionResult exibirRecibo(string r)
        {
            int idTituloPagamento = UtilNumber.toInt32(UtilCrypt.toBase64Decode(r));

            var OPagamentoRecibo = this.OTituloReceitaPagamentoBL.carregar(idTituloPagamento);

            var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OPagamentoRecibo.idTituloReceita);

            if (OPagamentoRecibo == null || OTituloRecibo == null)
            {
                return(HttpNotFound());
            }

            if (!OPagamentoRecibo.dtPagamento.HasValue || !OPagamentoRecibo.valorRecebido.HasValue)
            {
                return(HttpNotFound());
            }

            var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OPagamentoRecibo.idOrganizacao);

            string htmlRecibo = ConfiguracaoReciboBL.getInstance.carregar().htmlRecibo;

            if (String.IsNullOrEmpty(htmlRecibo))
            {
                throw new Exception("Configurações de recibo não localizadas.");
            }

            htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OPagamentoRecibo.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA));

            htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo);

            htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal));

            htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario));

            htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep)));

            htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado));

            htmlRecibo = htmlRecibo.Replace("#NUMERO#", OPagamentoRecibo.id.ToString().PadLeft(8, '0'));

            htmlRecibo = htmlRecibo.Replace("#VALOR#", OPagamentoRecibo.valorOriginal.ToString("C"));

            htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo);

            htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OPagamentoRecibo.descricaoPagamento());

            htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(DateTime.Now.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(DateTime.Now.Month), " de ", DateTime.Now.Year.ToString()));

            htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("tp", r));

            htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo));

            var ViewModel = new ReciboVM();

            ViewModel.htmlRecibo = htmlRecibo;

            return(View(ViewModel));
        }
        public ActionResult exibirRecibo(string i)
        {
            int idPedido = UtilNumber.toInt32(UtilCrypt.toBase64Decode(i));

            var OPedido = this.OPedidoBL.carregar(idPedido);

            if (OPedido == null)
            {
                return(HttpNotFound());
            }

            var OTitulo = this.OTituloReceitaBL.carregarPorReceita(OPedido.id);

            if (OTitulo == null || !OTitulo.dtQuitacao.HasValue)
            {
                return(HttpNotFound());
            }

            string htmlRecibo = ConfiguracaoReciboBL.getInstance.carregar().htmlRecibo;

            if (String.IsNullOrEmpty(htmlRecibo))
            {
                throw new Exception("Configuracoes de recibo não localizadas.");
            }

            var linkLogo = String.Concat(UtilConfig.linkAbsSistema, "/upload/logotipo/", HttpContextFactory.Current.User.idOrganizacao(), "/logotipo_print.png");

            htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", linkLogo);

            htmlRecibo = htmlRecibo.Replace("#NUMERO_RECIBO#", OTitulo.id.ToString().PadLeft(8, '0'));

            htmlRecibo = htmlRecibo.Replace("#VALOR_RECIBO#", OTitulo.valorLiquido().ToString("C"));

            htmlRecibo = htmlRecibo.Replace("#NOME_RECIBO#", OTitulo.nomeRecibo);

            htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTitulo.documentoRecibo));

            htmlRecibo = htmlRecibo.Replace("#DESCRICAO_RECIBO#", OTitulo.descricao);

            htmlRecibo = htmlRecibo.Replace("#DATA_RECIBO#", String.Concat(DateTime.Now.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(DateTime.Now.Month), " de ", DateTime.Now.Year.ToString()));

            htmlRecibo = htmlRecibo.Replace("#ASSINATURA_RECIBO#", UtilCrypt.signRecipe("an", i));

            var ViewModel = new ReciboVM();

            ViewModel.htmlRecibo = htmlRecibo;

            return(View(ViewModel));
        }