コード例 #1
0
        public JsonResult TestePost(int IdCliente, int idProduto, int qtde)
        {
            try
            {
                //buscar produto pelo id
                Produto produto = db.Produtos.Find(idProduto);
                if (produto != null && produto.Quantidade >= qtde)
                {
                    CarrinhoViewModel.AddItem(produto, qtde);

                    return(Json(String.Format("{0:c}", CarrinhoViewModel.ComputeTotalValue()), JsonRequestBehavior.AllowGet));
                }
                else
                {
                    var soma = idProduto + qtde;
                    return(Json("Falha ao adicionar!", JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Ocorreu um erro,entre em contato com o administrador do sistema!";
                // return RedirectToAction("Index");
                throw ex;
            }
        }
コード例 #2
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;
            }
        }
コード例 #3
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create(int?idPessoa, int?idProduto, int?Quantidade = 1)
        {
            try
            {
                PedidoItemViewModel pedidoviewmodel = new PedidoItemViewModel();
                Produto             produto         = db.Produtos.Find(idProduto);
                Pessoa pessoa = db.Pessoas.Find(idPessoa);
                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");
                if (idPessoa != null && idProduto != null)
                {
                    if (produto != null && produto.Quantidade >= Quantidade)
                    {
                        CarrinhoViewModel.AddItem(produto, (int)Quantidade);
                        pedidoviewmodel.Pessoa = pessoa;
                        if (pedidoviewmodel.Produtos == null)
                        {
                            pedidoviewmodel.Produtos = new List <FilaCarrinho>();
                        }
                        pedidoviewmodel.Produtos.AddRange(CarrinhoViewModel.Lines);
                        if (pedidoviewmodel.Pedido == null)
                        {
                            pedidoviewmodel.Pedido = new Pedido();
                        }
                        pedidoviewmodel.idProduto = 0;
                        pedidoviewmodel.Total     = CarrinhoViewModel.ComputeTotalValue();
                        return(View(pedidoviewmodel));
                        //return Json(String.Format("{0:c}", CarrinhoViewModel.ComputeTotalValue()), JsonRequestBehavior.AllowGet);
                    }
                    else
                    {
                        pedidoviewmodel.Pessoa = pessoa;
                        if (pedidoviewmodel.Produtos == null)
                        {
                            pedidoviewmodel.Produtos = new List <FilaCarrinho>();
                        }
                        pedidoviewmodel.Produtos.AddRange(CarrinhoViewModel.Lines);
                        if (pedidoviewmodel.Pedido == null)
                        {
                            pedidoviewmodel.Pedido = new Pedido();
                        }
                        pedidoviewmodel.idProduto = 0;
                        pedidoviewmodel.Total     = CarrinhoViewModel.ComputeTotalValue();
                        return(View(pedidoviewmodel));
                        //var soma = idProduto + Quantidade;
                        //return Json("Falha ao adicionar!", JsonRequestBehavior.AllowGet);
                    }
                    // return RedirectToAction("Index");
                }
                pedidoviewmodel.Pessoa = pessoa;
                if (pedidoviewmodel.Produtos == null)
                {
                    pedidoviewmodel.Produtos = new List <FilaCarrinho>();
                }
                pedidoviewmodel.Produtos.AddRange(CarrinhoViewModel.Lines);
                if (pedidoviewmodel.Pedido == null)
                {
                    pedidoviewmodel.Pedido = new Pedido();
                }
                pedidoviewmodel.idProduto = 0;
                pedidoviewmodel.Total     = CarrinhoViewModel.ComputeTotalValue();
                return(View(pedidoviewmodel));
                //ViewBag.PessoaId = new SelectList(db.Pessoas, "Id", "NomeCompleto", pedido.Pedido.PessoaId);
                //return View();
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Ocorreu um erro,entre em contato com o administrador do sistema!";
                return(RedirectToAction("Index"));

                throw ex;
            }
        }