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())); }
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)); }