public HttpResponseMessage AlterarParcela(FinanceiroParcelaModel model) { try { var parcela = _financeiroService.ObterFinanceiroParcelaPorId(model.IdParcela); if (parcela == null) { throw new Exception("Não foi possível recuperar a parcela."); } parcela.SetSituacao(model.Situacao); var plano = _financeiroService.ObterPlanodeContasPorId(model.IdPlanoConta ?? 0); parcela.SetPlanoConta(plano); var conta = _financeiroService.ObterContaPorId(model.IdConta); parcela.SetConta(conta); if (model.Situacao == "Baixado") { parcela.SetTotalAcerto((decimal)model.TotalAcerto); parcela.SetDataAcerto(model.DataAcerto ?? DateTime.MinValue); var meiopagamento = _financeiroService.GetMeioPagamentoPorId(model.IdMeioPagamento); parcela.SetMeioPagamento(meiopagamento); } else { parcela.SetTotalAcerto(0); } parcela.SetUsuarioAlteracao(null); if (model.Situacao == "Baixado") { parcela.SetUsuarioBaixar(null); } if (model.ValorDesconto > model.Valor) { throw new Exception(" O Valor do desconto não pode ser maior que o valor da parcela "); } parcela.SetValorDesconto((decimal)model.ValorDesconto); parcela.SetValorAcrescimo((decimal)model.ValorAcrescimo); parcela.SetObservacao(model.Observacao); _financeiroService.AlterarParcela(parcela); return(Request.CreateResponse(HttpStatusCode.OK, model)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }