public ActionResult AlterarPagamento(int idpagamento, double valorIntegralDaParcela, int status, DateTime dataVencimento, double valorPago, int contratoIdContrato, int clienteIdCliente) { PagamentoDAO dao = new PagamentoDAO(); Pagamento pagamento = dao.Listar().FirstOrDefault(x => x.IdPagamento == idpagamento); ContratoDAO CtDao = new ContratoDAO(); var contrato = new Contrato(); pagamento.Status = 1; // STATUS DE RECEBIMENTO var dataAtual = DateTime.Now; var outraData = pagamento.DataVencimento; TimeSpan Atraso = dataAtual.Subtract(outraData); double diasDeAtraso = Atraso.TotalDays; var novoValorPagamento = pagamento.CalculaJuroDiario(valorIntegralDaParcela, diasDeAtraso); if (valorPago < valorIntegralDaParcela) { var proximoPagamento = dao.BuscarProximoPagamento(pagamento); if (proximoPagamento == null) { pagamento.ValorIntegralDaParcela = valorIntegralDaParcela; pagamento.Status = status; pagamento.DataVencimento = dataVencimento; pagamento.IdContrato = contratoIdContrato; pagamento.IdCliente = clienteIdCliente; dao.Adicionar(pagamento); } } pagamento.ValorIntegralDaParcela = valorIntegralDaParcela; pagamento.Status = status; pagamento.DataVencimento = dataVencimento; pagamento.IdContrato = contratoIdContrato; pagamento.IdCliente = clienteIdCliente; dao.Alterar(pagamento); return(View(pagamento)); }