private static InformacaoDeParcelaViewModel InformacaoDeParcelaViewModel(int id)
        {
            var informacaoDeParcela = new InformacaoDeParcelaViewModel();

            using (var ctx = new BancoContexto())
            {
                var contaReceberParcela = ctx.FinanceiroContasReceberParcelas
                                          .Join(ctx.FinanceiroTipoRecebimentos, parcela => parcela.FinanceiroTipoRecebimentoId,
                                                tipoRecebimento => tipoRecebimento.Id, (parcela, tipoRecebimento) => new { parcela, tipoRecebimento })
                                          .Join(ctx.Clientes, tipoRecebimento => tipoRecebimento.tipoRecebimento.ClienteId, cliente => cliente.Id,
                                                (tipoRecebimento, cliente) => new { tipoRecebimento, cliente })
                                          .Select(x => new
                {
                    x.tipoRecebimento.parcela.NumeroDocumento,
                    x.tipoRecebimento.parcela.DataVencimento,
                    x.tipoRecebimento.parcela.DataRecebimento,
                    x.tipoRecebimento.parcela.ValorTotalLiquido,
                    x.tipoRecebimento.parcela.Observacoes,
                    x.tipoRecebimento.parcela.Id,
                    x.cliente.Nome
                }).AsNoTracking().Single(x => x.Id == id);

                informacaoDeParcela.ParcelaId         = (int)contaReceberParcela.Id;
                informacaoDeParcela.DataRecebimento   = contaReceberParcela.DataRecebimento ?? DateTime.Now;
                informacaoDeParcela.DataVencimento    = contaReceberParcela.DataVencimento;
                informacaoDeParcela.NomeCliente       = contaReceberParcela.Nome;
                informacaoDeParcela.NumeroDocumento   = contaReceberParcela.NumeroDocumento;
                informacaoDeParcela.ValorTotalLiquido = contaReceberParcela.ValorTotalLiquido;
                informacaoDeParcela.Observacoes       = contaReceberParcela.Observacoes;
            }
            return(informacaoDeParcela);
        }
        public ActionResult BaixarParcela(InformacaoDeParcelaViewModel baixaDeParcelaViewModel)
        {
            var financeiroParcelaRecebida = new FinanceiroContasReceberParcelas();

            financeiroParcelaRecebida.Id = baixaDeParcelaViewModel.ParcelaId;
            financeiroParcelaRecebida.DataRecebimento = baixaDeParcelaViewModel.DataRecebimento;
            financeiroParcelaRecebida.HoraRecebimento = DateTime.Now.TimeOfDay;
            financeiroParcelaRecebida.Observacoes     = baixaDeParcelaViewModel.Observacoes;
            ParcelasBusiness.BaixarParcela(financeiroParcelaRecebida);

            return(RedirectToAction("Index"));
        }
 public ActionResult CancelarParcela(InformacaoDeParcelaViewModel baixaDeParcelaViewModel)
 {
     ParcelasBusiness.CancelarParcela(baixaDeParcelaViewModel.ParcelaId);
     return(RedirectToAction("Index"));
 }