示例#1
0
        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));
            }
        }