Exemplo n.º 1
0
        public ActionResult Cadastrar()
        {
            using (var repo = new PizzaContext())
            {
                var     data          = repo.Produtos.ToList();
                var     listaProdutos = new List <Item>();
                decimal total         = 0;
                foreach (var item in data)
                {
                    int quantidade = Convert.ToInt32(Request.Form["Produto[" + item.Id_Produto + "]"].ToString());
                    if (quantidade > 0)
                    {
                        listaProdutos.Add(new Item()
                        {
                            Id_Produto     = item.Id_Produto,
                            Preco_Unitario = item.Preco,
                            Quantidade     = quantidade
                        });
                    }
                    total += item.Preco * quantidade;
                }
                var pedido = new Pedido();
                pedido.CPF                = Request.Form["CPF"];
                pedido.Data_Pedido        = DateTime.Now.ToString();
                pedido.Forma_De_Pagamento = Request.Form["FormaPagamento"];
                pedido.Preco_Total        = total;
                pedido.Status_Pedido      = Request.Form["StatusDoPedido"];

                repo.Add(pedido);
                repo.SaveChanges();

                for (int i = 0; i < listaProdutos.Count; i++)
                {
                    listaProdutos[i].IdPedido = pedido.IdPedido;
                }
                repo.AddRange(listaProdutos);
                repo.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }