Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        // 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;
            }
        }