public PartialViewResult PartialInputsPedidoDetalhes() { if (TempData.TryGetValue("PedidoDetalheAdicionado", out object pedidoDetalheAdicionado)) { ViewBag.PedidoDetalheAdicionado = (JObject)pedidoDetalheAdicionado; } PedidoDetalheViewModel pedidoDetalheViewModel = new PedidoDetalheViewModel(); ViewBag.Produtos = Mapper.Map <List <Produto>, List <ProdutoModel> >(_produtoAppService.GetAll()); return(PartialView("PartialInputsPedidoDetalhes", pedidoDetalheViewModel)); }
public ActionResult AdicionarOuAtualizarProduto(PedidoDetalheViewModel pedidoDetalheViewModel, string idPedidoDetalhe) { if (!ModelState.IsValid) { ViewBag.Produtos = Mapper.Map <List <Produto>, List <ProdutoModel> >(_produtoAppService.GetAll()); return(PartialView("PartialInputsPedidoDetalhes", pedidoDetalheViewModel)); } Guid guid = (string.IsNullOrEmpty(idPedidoDetalhe)) ? Guid.NewGuid() : Guid.Parse(idPedidoDetalhe); List <KeyValuePair <Guid, PedidoDetalheViewModel> > lista = (List <KeyValuePair <Guid, PedidoDetalheViewModel> >)Session["Produtos"]; var r = lista.Remove(lista.Find((x) => x.Key == guid)); KeyValuePair <Guid, PedidoDetalheViewModel> produto = new KeyValuePair <Guid, PedidoDetalheViewModel>(guid, pedidoDetalheViewModel); lista.Add(produto); Session.Remove("Produtos"); Session.Add("Produtos", lista); var prd = _produtoAppService.GetById(pedidoDetalheViewModel.ProdutoId); JObject result = JObject.FromObject(new { GuidPedidoDetalhe = guid, ProdutoId = prd.ProdutoId, Nome = prd.Nome, ValorUnitario = Convert.ToString(prd.Preco), ValorDesconto = pedidoDetalheViewModel.ValorDesconto, ValorFinal = pedidoDetalheViewModel.ValorFinal }); TempData["PedidoDetalheAdicionado"] = result; return(RedirectToAction("PartialInputsPedidoDetalhes")); }