/// <summary>
        ///
        /// </summary>
        public bool salvar(TituloDespesa OTituloDespesa)
        {
            OTituloDespesa.codigoBoleto = OTituloDespesa.codigoBoleto.onlyNumber().abreviar(50);

            OTituloDespesa.nroDocumento = OTituloDespesa.nroDocumento.abreviar(50);

            OTituloDespesa.nroContrato = OTituloDespesa.nroContrato.abreviar(20);

            OTituloDespesa.descricao = OTituloDespesa.descricao.abreviar(500);

            OTituloDespesa.Pessoa = OPessoaBL.carregar(OTituloDespesa.idPessoa.toInt()) ?? new Pessoa();

            //Preencher dados credor
            OTituloDespesa.nomePessoaCredor       = OTituloDespesa.Pessoa.nome.abreviar(100);
            OTituloDespesa.documentoPessoaCredor  = OTituloDespesa.Pessoa.nroDocumento.abreviar(20);
            OTituloDespesa.nroTelPrincipalCredor  = OTituloDespesa.Pessoa.nroTelPrincipal.abreviar(15);
            OTituloDespesa.nroTelSecundarioCredor = OTituloDespesa.Pessoa.nroTelSecundario.abreviar(15);
            OTituloDespesa.emailPrincipalCredor   = OTituloDespesa.Pessoa.emailPrincipal.abreviar(50);

            OTituloDespesa.observacao = OTituloDespesa.observacao.abreviar(400);

            OTituloDespesa.Pessoa        = null;
            OTituloDespesa.ContaBancaria = null;

            OTituloDespesa.codigoBoleto = OTituloDespesa.codigoBoleto.onlyNumber();

            OTituloDespesa.ContaBancariaFavorecida = null;

            OTituloDespesa.setDefaultInsertValues();

            if (OTituloDespesa.listaTituloDespesaPagamento.Any())
            {
                foreach (var Item in OTituloDespesa.listaTituloDespesaPagamento.ToList())
                {
                    Item.nroNotaFiscal = OTituloDespesa.nroNotaFiscal;

                    Item.nroDocumento = OTituloDespesa.nroDocumento.abreviar(50);

                    Item.nroContrato = OTituloDespesa.nroContrato.abreviar(20);

                    Item.idContaBancariaFavorecida = OTituloDespesa.idContaBancariaFavorecida;

                    Item.setDefaultInsertValues();
                }
            }

            db.TituloDespesa.Add(OTituloDespesa);

            db.SaveChanges();

            bool flagSucesso = OTituloDespesa.id > 0;

            if (flagSucesso)
            {
                this.onDespesaCadastrada.subscribe(new OnDespesaCadastradaHandler());
                this.onDespesaCadastrada.publish(OTituloDespesa as object);
            }

            return(flagSucesso);
        }
        //
        private UtilRetorno salvarDespesas(TituloDespesa ODespesaClone, int qtdeReplicacoes)
        {
            var ORetorno = UtilRetorno.newInstance(false);

            var listaDespesasGeradas = new List <TituloDespesa>();

            ODespesaClone.listaTituloDespesaPagamento = this.ajustarPagamentos(ODespesaClone, ODespesaClone.listaTituloDespesaPagamento.ToList());

            listaDespesasGeradas.Add(ODespesaClone);

            qtdeReplicacoes--;

            for (int i = 1; i <= qtdeReplicacoes; i++)
            {
                var ODespesaReplicada = ODespesaClone.ToJsonObject <TituloDespesa>();

                ODespesaReplicada.dtDespesa = ODespesaClone.dtDespesa?.AddMonths(i);

                ODespesaReplicada.mesCompetencia = ODespesaReplicada.dtDespesa?.Month.toByte();

                ODespesaReplicada.anoCompetencia = Convert.ToInt16(ODespesaReplicada.dtDespesa?.Year);

                ODespesaReplicada.dtVencimento = ODespesaClone.dtVencimento?.AddMonths(i);

                ODespesaReplicada.listaTituloDespesaPagamento = this.ajustarPagamentos(ODespesaReplicada, ODespesaReplicada.listaTituloDespesaPagamento.ToList());

                listaDespesasGeradas.Add(ODespesaReplicada);
            }

            using (var ctx = this.db) {
                ctx.Configuration.AutoDetectChangesEnabled = false;

                ctx.Configuration.ValidateOnSaveEnabled = false;

                listaDespesasGeradas.ForEach(x => {
                    x.setDefaultInsertValues();

                    x.listaTituloDespesaPagamento.ForEach(c => {
                        c.setDefaultInsertValues();
                    });
                });

                ctx.TituloDespesa.AddRange(listaDespesasGeradas);

                ctx.SaveChanges();
            }

            ORetorno.info = listaDespesasGeradas.FirstOrDefault().id;

            return(ORetorno);
        }
Exemplo n.º 3
0
        //Atualizar os dados de um titulo de Despesa
        private void atualizar(TituloDespesa OTituloDespesa)
        {
            TituloDespesa dbTitulo = this.db.TituloDespesa.Find(OTituloDespesa.id);

            var entryTitulo = db.Entry(dbTitulo);

            entryTitulo.CurrentValues.SetValues(OTituloDespesa);

            OTituloDespesa.setDefaultUpdateValues();

            entryTitulo.State = EntityState.Modified;

            entryTitulo.ignoreFields(new[] { "idPessoa", "idOrganizacao", "idUnidade", "idCentroCusto", "idDespesa" });

            db.SaveChanges();
        }
        //
        private List <TituloDespesaPagamento> ajustarPagamentos(TituloDespesa ODespesaClone, List <TituloDespesaPagamento> listaPagamentosClone)
        {
            listaPagamentosClone.ForEach(x => {
                x.idStatusPagamento = StatusPagamentoConst.ABERTO;

                x.dtCompetencia = ODespesaClone.dtDespesa;

                x.mesCompetencia = ODespesaClone.dtDespesa?.Month.toByte();

                x.anoCompetencia = Convert.ToInt16(ODespesaClone.dtDespesa?.Year);

                x.dtVencimento = ODespesaClone.dtVencimento;
            });

            return(listaPagamentosClone);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Verifica se o modo de pagamento é necessário que os bancos das contas de débito e crédito sejam iguais
        /// </summary>
        private bool verificarConta(TituloDespesa TituloDespesa)
        {
            if (TituloDespesa.idModoPagamento == (int)ModoPagamentoDespesaEnum.CONTA_CORRENTE_MESMO_TITULAR ||
                TituloDespesa.idModoPagamento == (int)ModoPagamentoDespesaEnum.CONTA_CORRENTE_OUTRO_TITULAR ||
                TituloDespesa.idModoPagamento == (int)ModoPagamentoDespesaEnum.CONTA_POUPANCA)
            {
                TituloDespesa.ContaBancaria           = OContaBancariaBL.carregar(TituloDespesa.idContaBancaria.toInt()) ?? new ContaBancaria();
                TituloDespesa.ContaBancariaFavorecida = ODadoBancarioConsultaBL.carregar(TituloDespesa.idContaBancariaFavorecida.toInt()) ?? new DadoBancario();

                if (TituloDespesa.ContaBancaria.idBanco != TituloDespesa.ContaBancariaFavorecida.idBanco)
                {
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 6
0
        public ActionResult excluir(TituloDespesa ViewModel)
        {
            if (ViewModel.motivoExclusao.isEmpty())
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Informe o motivo da exclusão.");
                return(View("modal-excluir-despesa", ViewModel));
            }

            var ORetorno = this.OTituloDespesaBL.excluir(ViewModel.id, ViewModel.motivoExclusao);

            if (ORetorno.flagError == false)
            {
                return(Json(new { error = false, message = "Despesa removida com sucesso", urlRetorno = Url.Action("listar", "LancamentoDespesas", new { area = "FinanceiroLancamentos" }) }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, ORetorno.listaErros.FirstOrDefault());
            return(View("modal-excluir-despesa", ViewModel));
        }
        private UtilRetorno alterarCampo(TituloDespesa OTituloDespesa, LogAlteracao OLog)
        {
            var ORetorno = UtilRetorno.newInstance(true);

            var listaCamposNaoEditaveis = new[] {
                "id"
                , "idOrganizacao"
                , "idUsuarioCadastro"
                , "idUsuarioAlteracao"
                , "dtCadastro"
            };

            if (listaCamposNaoEditaveis.Contains(OLog.nomeCampoAlterado))
            {
                return(UtilRetorno.newInstance(true, "O dado informado não pode ser alterado."));
            }

            OLog.valorAntigo = OTituloDespesa.alterarValorCampo(OLog.nomeCampoAlterado, OLog.valorNovo);

            if (OLog.valorAntigo == null)
            {
                ORetorno.listaErros.Add("O valor informado é inválido");
                return(ORetorno);
            }

            var Retorno = db.validateAndSave();

            if (Retorno.flagError)
            {
                return(Retorno);
            }

            OLog.nomeCampoAlterado = OLog.nomeCampoAlterado.abreviar(255);
            OLog.nomeCampoDisplay  = OLog.nomeCampoDisplay.abreviar(255);
            OLog.valorNovo         = OTituloDespesa.getValorCampo(OLog.nomeCampoAlterado).removeTags().abreviar(255);
            OLog.valorAntigo       = OLog.valorAntigo.removeTags().abreviar(255);
            OLog.oldValueSelect    = OLog.valorAntigo.isEmpty() ? null : OLog.oldValueSelect.removeTags().abreviar(255);

            OLogAlteracaoBL.salvar(OLog);

            ORetorno.flagError = false;

            return(ORetorno);
        }
        //
        private void gerarPagamento(TituloDespesa OTituloDespesa)
        {
            var OPagamento = new TituloDespesaPagamento();

            OPagamento.transferirDadosTitulo(OTituloDespesa);

            OPagamento.idMeioPagamento = MeioPagamentoConst.TRANSFERENCIA_ELETRONICA;

            OPagamento.idFormaPagamento = FormaPagamentoConst.TRANSFERENCIA_BANCARIA;

            OPagamento.idStatusPagamento = StatusPagamentoConst.PAGO;

            OPagamento.dtPagamento = OTituloDespesa.dtQuitacao;

            OPagamento.dtDebito = OTituloDespesa.dtQuitacao;

            OPagamento.valorPago = OTituloDespesa.valorTotal;

            this.OTituloDespesaPagamentoCadastroBL.salvar(OPagamento);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Preencher os dados de recibo de um titulo de Despesa
        /// </summary>
        protected void preencherRecibo(ref TituloDespesa OTituloDespesa, Pessoa OPessoa)
        {
            OTituloDespesa.nomePessoaCredor = OPessoa.nome;

            OTituloDespesa.documentoPessoaCredor = OPessoa.nroDocumento;

            OTituloDespesa.nroTelPrincipalCredor = string.Concat(OPessoa.dddTelPrincipal, OPessoa.nroTelPrincipal);

            //Carregar E-mails da Pessoa
            var listaEmails = OPessoa.listaEmails.Where(x => x.dtExclusao == null && !string.IsNullOrEmpty(x.email)).ToList();

            if (listaEmails.Any())
            {
                OTituloDespesa.emailPrincipalCredor = listaEmails.Select(x => x.email).FirstOrDefault();
            }

            //Carregar E-mails da Pessoa
            var listaTelefones = OPessoa.listaTelefones.Where(x => x.dtExclusao == null && !string.IsNullOrEmpty(x.nroTelefone)).ToList();

            if (listaTelefones.Any())
            {
                OTituloDespesa.nroTelPrincipalCredor = listaTelefones.Select(x => x.nroTelefone).FirstOrDefault();
            }

            //Carregar Endereco da Pessoa
            var listaEnderecos = OPessoa.listaEnderecos.Where(x => x.dtExclusao == null).ToList();

            var OEndereco = listaEnderecos.FirstOrDefault(x => !string.IsNullOrEmpty(x.cep)) ?? new PessoaEndereco();

//            OTituloDespesa.cepRecibo = OEndereco.cep;
//
//            OTituloDespesa.logradouroRecibo = OEndereco.logradouro;
//
//            OTituloDespesa.complementoRecibo = OEndereco.complemento;
//
//            OTituloDespesa.numeroRecibo = OEndereco.numero;
//
//            OTituloDespesa.bairroRecibo = OEndereco.bairro;
//
//            OTituloDespesa.idCidadeRecibo = OEndereco.idCidade;
        }
Exemplo n.º 10
0
        //Inserir os dados para um novo titulo de Despesa
        private void inserir(TituloDespesa OTituloDespesa)
        {
            OTituloDespesa.setDefaultInsertValues();

            OTituloDespesa.listaTituloDespesaPagamento = null;

            OTituloDespesa.Categoria = null;

            OTituloDespesa.CentroCusto = null;

            OTituloDespesa.ContaBancaria = null;

            OTituloDespesa.MacroConta = null;

            OTituloDespesa.Pessoa = null;

            using (var dataContext = new DataContext()) {
                dataContext.TituloDespesa.Add(OTituloDespesa);

                dataContext.SaveChanges();
            }
        }
        /// <summary>
        /// Faz a alteração de qualquer campo informado
        /// </summary>
        private UtilRetorno alterarCampo(TituloDespesa OItem, LogAlteracao OLog)
        {
            var ORetorno = UtilRetorno.newInstance(true);

            var listaCamposEditaveis = new[] {
                "flagFixa", "valorTotal", "descricao", "idContaBancaria", "idCentroCusto", "idMacroConta", "idCategoria",
                "nroNotaFiscal", "nroContabil", "nroContrato", "codigoBoleto", "nroDocumento", "idTipoDespesa", "idModoPagamento", "idContaBancariaFavorecida",
                "documentoPessoaCredor", "nomePessoaCredor", "nroTelPrincipalCredor"
            };

            if (!listaCamposEditaveis.Contains(OLog.nomeCampoAlterado))
            {
                return(UtilRetorno.newInstance(true, "Campo informado não pode ser editado"));
            }

            OLog.valorAntigo = OItem.alterarValorCampo(OLog.nomeCampoAlterado, OLog.valorNovo);

            if (OLog.valorAntigo == null)
            {
                ORetorno.listaErros.Add("O valor informado é inválido");
                return(ORetorno);
            }

            var successSave = db.SaveChanges();

            if (successSave > 0)
            {
                OLog.valorNovo      = OItem.getValorCampo(OLog.nomeCampoAlterado);
                OLog.oldValueSelect = OLog.valorAntigo.isEmpty() ? null : OLog.oldValueSelect;
                OLogAlteracaoBL.salvar(OLog);

                ORetorno.flagError = false;
                return(ORetorno);
            }

            ORetorno.listaErros.Add("Não foi possível salvar o registro no banco.");
            return(ORetorno);
        }
        //
        public UtilRetorno clonar(TituloDespesa ODespesa, int qtdeReplicacoes)
        {
            var ORetorno = UtilRetorno.newInstance(false);

            var ODespesaClone = this.carregarDadosDespesaBase(ODespesa.id);

            if (ODespesaClone == null)
            {
                ORetorno.flagError = true;

                ORetorno.listaErros.Add("A despesa informada não foi encontrada.");

                return(ORetorno);
            }

            ODespesaClone.id = 0;

            ODespesaClone.idTituloDespesaOrigem = ODespesa.id;

            ODespesaClone.descricao = ODespesa.descricao;

            ODespesaClone.idPessoa = ODespesa.idPessoa;

            ODespesaClone.dtDespesa = ODespesa.dtDespesa;

            ODespesaClone.mesCompetencia = Convert.ToByte(ODespesa.dtDespesa?.Month);

            ODespesaClone.anoCompetencia = Convert.ToInt16(ODespesa.dtDespesa?.Year);

            ODespesaClone.dtVencimento = ODespesa.dtVencimento;

            ODespesaClone.dtQuitacao = null;

            ORetorno = this.salvarDespesas(ODespesaClone, qtdeReplicacoes);

            return(ORetorno);
        }
Exemplo n.º 13
0
        //Salvar uma Despesa no banco de dados
        //A operacao pode ser de atualizacao ou de insercao
        public virtual TituloDespesa salvar(TituloDespesa OTituloDespesa)
        {
            OTituloDespesa.Pessoa = OPessoaBL.carregar(OTituloDespesa.idPessoa.toInt()) ?? new Pessoa();

            //Tratar valores
            OTituloDespesa.nroTelPrincipalCredor = UtilString.onlyAlphaNumber(OTituloDespesa.Pessoa.nroTelPrincipal).abreviar(15);

            OTituloDespesa.nroTelSecundarioCredor = UtilString.onlyAlphaNumber(OTituloDespesa.Pessoa.nroTelSecundario).abreviar(15);

            OTituloDespesa.nomePessoaCredor = OTituloDespesa.Pessoa.nome.abreviar(100);

            OTituloDespesa.documentoPessoaCredor = OTituloDespesa.Pessoa.nroDocumento.abreviar(20);

            OTituloDespesa.observacao = OTituloDespesa.observacao.abreviar(1000);


            //Anular relacionamentos que nao se deseja inserções
            OTituloDespesa.idPessoa = OTituloDespesa.idPessoa == 0 ? null : OTituloDespesa.idPessoa;

            OTituloDespesa.Pessoa = null;

            OTituloDespesa.CentroCusto = null;

            OTituloDespesa.PeriodoRepeticao = null;

            if (OTituloDespesa.id > 0)
            {
                this.atualizar(OTituloDespesa);
            }
            else
            {
                this.inserir(OTituloDespesa);
            }

            return(OTituloDespesa);
        }
        //Metodo para geracao do titulo de Despesa
        public override UtilRetorno gerar(object OrigemTitulo)
        {
            var OContaBancariaMovimentacao = (OrigemTitulo as ContaBancariaMovimentacao);

            if (OContaBancariaMovimentacao == null)
            {
                return(UtilRetorno.newInstance(true, "O registro ContaMovimentação está nulo."));
            }

            //Verificar se o titulo já existe
            var OTituloDespesa = this.OTituloDespesaBL.carregarPorDespesa(OContaBancariaMovimentacao.id);

            if (OTituloDespesa != null)
            {
                return(UtilRetorno.newInstance(false, "O título já foi gerado anteriormente.", OTituloDespesa));
            }

            OTituloDespesa = new TituloDespesa();

            OTituloDespesa.idTipoDespesa = idTipoDespesa;

            OTituloDespesa.idDespesa = OContaBancariaMovimentacao.id;

            OTituloDespesa.idOrganizacao = OContaBancariaMovimentacao.idOrganizacao.toInt();

            OTituloDespesa.idUnidade = OContaBancariaMovimentacao.idUnidade;

            OTituloDespesa.qtdeRepeticao = 1;

            OTituloDespesa.mesCompetencia = (byte?)OContaBancariaMovimentacao.dtOperacao.Month;

            OTituloDespesa.anoCompetencia = (short?)OContaBancariaMovimentacao.dtOperacao.Year;

            if (OTituloDespesa.mesCompetencia > 0 && OTituloDespesa.anoCompetencia > 0)
            {
                byte?diaCompetencia = OContaBancariaMovimentacao.dtOperacao.Day.toByte();

                diaCompetencia = diaCompetencia.toByte() > 0 ? diaCompetencia.toByte() : (byte)1;

                OTituloDespesa.dtDespesa = new DateTime(OTituloDespesa.anoCompetencia.toInt(), OTituloDespesa.mesCompetencia.toInt(), diaCompetencia.toInt());
            }

            OTituloDespesa.idContaBancaria = OContaBancariaMovimentacao.idContaBancariaOrigem;

            var OContaBancariaDestino = this.OContaBancariaBL.carregar(OContaBancariaMovimentacao.idContaBancariaDestino) ?? new ContaBancaria();

            OTituloDespesa.descricao = $"Transferência realizada para a conta { OContaBancariaDestino.OBanco?.nome }: { OContaBancariaDestino.nroConta }/{ OContaBancariaDestino.nroAgencia }";

            OTituloDespesa.valorTotal = OContaBancariaMovimentacao.valor;

            OTituloDespesa.dtVencimento = DateTime.Now;

            OTituloDespesa.dtQuitacao = DateTime.Now;

            this.salvar(OTituloDespesa);

            if (OTituloDespesa.id > 0)
            {
                this.gerarPagamento(OTituloDespesa);
            }

            return(UtilRetorno.newInstance(false, "O título foi gerado com sucesso.", OTituloDespesa));
        }
        public ActionResult importar(HttpPostedFileBase arquivoExcel)
        {
            var lista = new List <ImportacaoFinanceiroDTO>();

            string extensao            = UTIL.Upload.UploadConfig.getExtension(arquivoExcel);
            string pathExcelTemporario = Path.Combine(UtilConfig.pathAbsTempFiles, string.Concat(UtilString.onlyNumber(DateTime.Now.ToString()), extensao));

            arquivoExcel.SaveAs(pathExcelTemporario);

            using (FileStream stream = System.IO.File.Open(pathExcelTemporario, FileMode.Open, FileAccess.Read)) {
                IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                excelReader.IsFirstRowAsColumnNames = true;
                DataSet result = excelReader.AsDataSet();

                foreach (DataTable table in result.Tables)
                {
                    for (int i = 0; i < table.Rows.Count; i++)
                    {
                        var OImportacao = new ImportacaoFinanceiroDTO();

                        OImportacao.ano         = getCampo(table, i, 0);
                        OImportacao.mes         = getCampo(table, i, 1);
                        OImportacao.dia         = getCampo(table, i, 2);
                        OImportacao.flagFixa    = getCampo(table, i, 3);
                        OImportacao.descricao   = getCampo(table, i, 4);
                        OImportacao.centroCusto = getCampo(table, i, 5);
                        //  OImportacao.CentroCusto = getCampo(table, i, 6);
                        OImportacao.categoria               = getCampo(table, i, 7);
                        OImportacao.tipoCategoria           = getCampo(table, i, 8);
                        OImportacao.detalheCategoria        = getCampo(table, i, 9);
                        OImportacao.qtdeParcela             = getCampo(table, i, 10);
                        OImportacao.formaPagamento          = getCampo(table, i, 11);
                        OImportacao.descricaoFormaPagamento = getCampo(table, i, 12);
                        OImportacao.valor = getCampo(table, i, 13);

                        lista.Add(OImportacao);
                    }
                }
            }

            if (lista.Count > 0)
            {
                foreach (var item in lista)
                {
                    if (!String.IsNullOrEmpty(item.ano))
                    {
                        var OTituloDespesaBL = new ContasAPagarBL();

                        var dtPagamento            = new DateTime(UtilNumber.toInt32(item.ano), UtilNumber.toInt32(item.mes), UtilNumber.toInt32(item.dia));
                        var idCategoria            = this.getCategoria(item.categoria);
                        var idTipoCategoria        = this.getTipoCategoria(item.tipoCategoria);
                        var idDetalheTipoCategoria = this.getDetalheCategoria(item.detalheCategoria);
                        var idCentroCusto          = this.getCentroCusto(item.centroCusto);
                        var idFormaPagamento       = this.getFormaPagamento(item.formaPagamento);

                        TituloDespesa OTituloDespesa = new TituloDespesa();
                        OTituloDespesa.descricao              = item.descricao;
                        OTituloDespesa.idDespesa              = 0;
                        OTituloDespesa.idCategoria            = idCategoria;
                        OTituloDespesa.idTipoCategoria        = idTipoCategoria;
                        OTituloDespesa.idDetalheTipoCategoria = idDetalheTipoCategoria;
                        OTituloDespesa.idCentroCusto          = idCentroCusto;
                        OTituloDespesa.idPeriodoRepeticao     = 1;
                        OTituloDespesa.idAgrupador            = 0;
                        OTituloDespesa.nroDocumento           = "";
                        OTituloDespesa.qtdeRepeticao          = 4;
                        OTituloDespesa.valorTotal             = Convert.ToDecimal(item.valor);
                        OTituloDespesa.qtdeRepeticao          = 1;
                        OTituloDespesa.dtQuitacao             = dtPagamento;

                        TituloDespesaPagamento OTituloDespesaPagamento = new TituloDespesaPagamento();
                        OTituloDespesaPagamento.dtPagamento      = dtPagamento;
                        OTituloDespesaPagamento.idFormaPagamento = idFormaPagamento;
                        //OTituloDespesaPagamento.descricao = OTituloDespesa.descricao;
                        OTituloDespesaPagamento.descParcela   = item.descricaoFormaPagamento;
                        OTituloDespesaPagamento.dtVencimento  = dtPagamento;
                        OTituloDespesaPagamento.flagPago      = "S";
                        OTituloDespesaPagamento.valorOriginal = OTituloDespesa.valorTotal.Value;
                        OTituloDespesaPagamento.valorPago     = OTituloDespesa.valorTotal.Value;

                        OTituloDespesa.listaTituloDespesaPagamento = new List <TituloDespesaPagamento>();
                        OTituloDespesa.listaTituloDespesaPagamento.Add(OTituloDespesaPagamento);

                        //if (!OTituloDespesaBL.exists(x => x.dtQuitacao == OTituloDespesa.dtQuitacao
                        //                                  && x.descricao == OTituloDespesa.descricao
                        //                                  && x.valorTotal == OTituloDespesa.valorTotal))
                        //{
                        // OTituloDespesaBL.salvar(OTituloDespesa);
                        //}
                    }
                }
            }

            return(View());
        }