public IActionResult ConfirmarNegociacao(ConfirmarSimulacaoViewModel confirmarSimulacaoVM) { NegociacaoConfirmadaViewModel negociacaoConfirmadaVM = null; CancelarNegociacaoViewModel cancelarNegociacao = null; using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://localhost:44398/api/negociacaoapi/"); //HTTP GET var postTask = client.PostAsync("ConfirmarNegociacao", new StringContent(JsonConvert.SerializeObject(confirmarSimulacaoVM), Encoding.UTF8, "application/json")); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsStringAsync(); readTask.Wait(); negociacaoConfirmadaVM = JsonConvert.DeserializeObject <NegociacaoConfirmadaViewModel>(readTask.Result); cancelarNegociacao = new CancelarNegociacaoViewModel(confirmarSimulacaoVM.cpf, negociacaoConfirmadaVM.acordoId); TempData["cancelarNegociacao"] = JsonConvert.SerializeObject(cancelarNegociacao); return(RedirectToAction("CancelarNegociacao")); } else { ModelState.AddModelError(string.Empty, MSG_ERRO); } } return(View(confirmarSimulacaoVM)); }
public IActionResult ConfirmarNegociacao(ConfirmarSimulacaoViewModel cpfSimulacaoVM) { NegociacaoConfirmadaViewModel negociacaoConfirmadaVM; try { //var simulacao = _context.Set<Simulacao>().AsNoTracking().Where(x => x.SimulacaoId == cpfSimulacaoVM.simulacaoId).FirstOrDefault(); var tomador = _context.Set <Tomador>().AsNoTracking(); var simulacao = tomador.SelectMany(a => a.Dividas) .SelectMany(b => b.Simulacoes) .Where(c => c.SimulacaoId == cpfSimulacaoVM.simulacaoId).FirstOrDefault(); simulacao.Acordos.Add(new Acordo() { Ativo = true }); _context.Set <Simulacao>().Update(simulacao); _context.SaveChanges(); var acordoId = simulacao.Acordos.OrderBy(x => x.AcordoId).LastOrDefault().AcordoId; negociacaoConfirmadaVM = new NegociacaoConfirmadaViewModel(acordoId, "OK"); } catch (Exception ex) { return(NotFound()); } return(Ok(negociacaoConfirmadaVM)); }