Beispiel #1
0
        public ActionResult EditParcelamento(ParcelamentoViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Parcelamento parcelamento = Mapper.Map <ParcelamentoViewModel, Parcelamento>(viewModel);
                parcelamento.FormaPag = FormaPag.Cartao;
                parcelamento.PessoaId = pessoaUsuarioAPL.SelecionarById(User.Identity.GetUserId()).Id;
                despesasAPL.Alterar(parcelamento);
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
Beispiel #2
0
        public IActionResult SimularNegociacao(SimularNegociacaoViewModel cpfParcelasVM)
        {
            NegociacaoSimuladaViewModel simularNegociacaoVM;

            try
            {
                /*
                 * Manipulação dos dados com Entities
                 */
                var tomador = _context.Set <Tomador>().Where(x => x.CPF == cpfParcelasVM.cpf).FirstOrDefault();
                var divida  = tomador.Dividas.OrderBy(x => x.DividaId).LastOrDefault();
                //Para simplificação, apenas a primeira parcela foi calculada e registrada
                var parcela = new Parcela()
                {
                    NumeroParcela     = 0,
                    VencimentoParcela = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)), //Último dia do mês (mês em que isto é executado)
                    ValorParcela      = Decimal.Round(divida.Valor / cpfParcelasVM.qtdParcelas, 2)
                };
                var simulacao = new Simulacao()
                {
                    Parcelas = new List <Parcela>()
                    {
                        parcela
                    }
                };

                tomador.Dividas.FirstOrDefault().Simulacoes.Add(simulacao);
                _context.Set <Tomador>().Update(tomador);
                _context.SaveChanges();


                /*
                 * Montagem da ViewModel para retorn de dados
                 */
                var simulacaoId    = tomador.Dividas.OrderBy(x => x.DividaId).LastOrDefault().Simulacoes.OrderBy(x => x.SimulacaoId).LastOrDefault().SimulacaoId;
                var parcelamentoVM = new ParcelamentoViewModel(parcela.NumeroParcela, parcela.VencimentoParcela, parcela.ValorParcela);
                simularNegociacaoVM = new NegociacaoSimuladaViewModel(cpfParcelasVM.cpf, simulacaoId, parcelamentoVM);
            }
            catch (Exception)
            {
                return(NotFound());
            }
            return(Ok(simularNegociacaoVM));
        }