Ejemplo n.º 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));
            }
        }
Ejemplo n.º 2
0
        public IEnumerable <FinanceiroParcelaModel> GerarParcelasFinanceiro(FinanceiroParcelaModel model)
        {
            var parcelas = new List <FinanceiroParcelaModel>();

            int      quantidadeParcelas            = model.QuantidadeParcelas;
            DateTime DataVencimentoAdesao          = model.DataVencimentoAdesao;
            DateTime DataVencimentoPrimeiraParcela = model.DataVencimentoPrimeiraParcela;
            Decimal  valorParcela  = model.Valor / quantidadeParcelas;
            DateTime?DataPagamento = null;

            for (int i = 1; i <= quantidadeParcelas; i++)
            {
                DataPagamento = null;
                if (model.IncluirParcelasPagas)
                {
                    DataPagamento = DataVencimentoPrimeiraParcela;
                }
                parcelas.Add(new FinanceiroParcelaModel()
                {
                    Valor          = Math.Round(valorParcela, 2),
                    DataVencimento = DataVencimentoPrimeiraParcela,
                    DataPagamento  = DataPagamento,
                    NumeroParcela  = i
                });
                DataVencimentoPrimeiraParcela = DataVencimentoPrimeiraParcela.AddMonths(1);
            }
            var     somadevalores = parcelas.Sum(x => x.Valor);
            decimal resto         = 0;

            if (Convert.ToDecimal(somadevalores) - (Convert.ToDecimal(model.Valor)) != 0)
            {
                resto             = Convert.ToDecimal(somadevalores) - Convert.ToDecimal(model.Valor);
                parcelas[0].Valor = parcelas[0].Valor - resto;
            }
            return(parcelas);
        }
Ejemplo n.º 3
0
        public FinanceiroParcelaModel GetFinanceiroParcelaModeloById(int id)
        {
            var item   = _financeiroService.ObterFinanceiroParcelaPorId(id);
            var result = new FinanceiroParcelaModel();

            if (item == null)
            {
                throw new Exception("Não foi possivel recuperar dados da parcela.");
            }


            result.DataInicio      = item.DataInclusao;
            result.DataPagamento   = item.DataBaixa;
            result.DataAcerto      = item.DataAcerto;
            result.NumeroParcela   = item.Numero;
            result.NomeCliente     = item.Financeiro.Pessoa?.Nome;
            result.Situacao        = item.Situacao;
            result.DataVencimento  = item.DataVencimento;
            result.Valor           = item.Valor;
            result.NomeCliente     = item.Financeiro?.Pessoa?.Nome;
            result.PlanoConta      = item.PlanoConta?.NmPlanoConta;
            result.IdParcela       = item.IdParcela;
            result.TotalAcerto     = item.TotalAcerto;
            result.IdFinanceiro    = item.IdFinanceiro;
            result.TipoConta       = item.Financeiro.Tipo;
            result.Conta           = item.Conta.NmConta;
            result.IdConta         = item.Conta.IdConta;
            result.IdMeioPagamento = item.MeioPagamento != null ? item.MeioPagamento.IdMeioPagamento : 0;
            result.DataAcerto      = item.DataAcerto;
            result.ValorAcerto     = item.TotalAcerto;
            result.ValorDesconto   = item.ValorDesconto;
            result.ValorAcrescimo  = item.ValorAcrescimo;
            result.IdPlanoConta    = item.IdPlanoConta;
            result.Observacao      = item.Observacao;
            return(result);
        }