public void FinalizarPedido(int idCliente) { try { int quantidade = 0; Pedido pedido = new Pedido(); pedido.DataPedido = DateTime.Now; pedido.PessoaId = idCliente; pedido.isVenda = true; pedido.isPessoaFisica = true; var pedidoIns = db.Pedidos.Add(pedido); db.SaveChanges(); foreach (var item in CarrinhoViewModel.Lines) { Produto p = new Produto { Id = item.Produto.Id }; db.Produtos.Add(p); db.Produtos.Attach(p); db.Pedidos.Add(pedido); db.Pedidos.Attach(pedido); quantidade += item.Quantidade; p.Pedidos.Add(pedido); } pedido.Quantidade = quantidade; pedido.Total = CarrinhoViewModel.ComputeTotalValue(); CarrinhoViewModel.Clear(); db.Pedidos.Add(pedido); db.SaveChanges(); TempData["Success"] = "Pedido cadastrado com sucesso!"; RedirectToAction("Index"); } catch (Exception ex) { TempData["Error"] = "Ocorreu um erro,entre em contato com o administrador do sistema!"; RedirectToAction("Index"); throw ex; } }
// GET: Pedido/Create public ActionResult Create() { try { ViewBag.PessoaId = new SelectList(db.Pessoas .Where(p => p.PapelPessoaId == 1) .Where(p => p.TipoPessoaId == 1) .Where(x => x.Status == true) .OrderBy(x => x.NomeCompleto), "Id", "NomeCompleto"); ViewBag.ProdutoId = new SelectList(db.Produtos.Where(x => x.Status == true).OrderBy(x => x.Nome), "Id", "Nome"); ViewBag.idPedido = 0; CarrinhoViewModel.Clear(); return(View()); } catch (Exception ex) { TempData["Error"] = "Ocorreu um erro,entre em contato com o administrador do sistema!"; return(RedirectToAction("Index")); throw ex; } }