예제 #1
0
        public IActionResult Checkout(Pedido pedido)
        {
            var itens = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = itens;

            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu Carrinho de Compras Não possui Itens!");
            }

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                ViewBag.CheckoutCompletoMsg = "Obrigado pelo seu pedido! :) ";
                ViewBag.TotalPedido         = _carrinhoCompra.GetCarrinhoCompraTotal();

                _carrinhoCompra.LimparCarrinho();

                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }

            return(View(pedido));
        }
예제 #2
0
        public IActionResult Checkout(Cliente cliente)
        {
            var itens = _carrinhoCompra.GetCarrinhoCompraItems();

            _carrinhoCompra.CarrinhoCompraItems = itens;

            if (_carrinhoCompra.CarrinhoCompraItems.Count() == 0)
            {
                ModelState.AddModelError("pedido.vazio", "Sua cesta de compra está vazia !!");
            }

            if (ModelState.IsValid)
            {
                int clienteId = _clienteRepository.CadastraCliente(cliente);

                var pedido = new Pedido()
                {
                    ClienteId      = clienteId,
                    PedidoTotal    = 0,
                    DataHoraPedido = System.DateTime.Now
                };

                _pedidoRepository.CriaPedido(clienteId, ref pedido);

                ViewBag.Cliente     = cliente.Nome;
                ViewBag.TotalPedido = _carrinhoCompra.GetCarrinhoTotalCompra();
                ViewBag.CheckoutCompletoMensagem = "Obrigado pelo seu pedido :) ";

                _carrinhoCompra.LimparCarrinho();

                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }

            return(View(cliente));
        }
예제 #3
0
        public IActionResult Checkout(Pedido pedido)
        {
            var items = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = items;

            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu carrinho esta vazio, que tal incluir um lanche...");
            }

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                TempData["Cliente"]      = pedido.Nome;
                TempData["NumeroPedido"] = pedido.PedidoId;
                TempData["DataPedido"]   = pedido.PedidoEnviado;
                TempData["TotalPedido"]  = _carrinhoCompra.GetCarrinhoCompraTotal();

                _carrinhoCompra.LimparCarrinho();
                return(RedirectToAction("CheckoutCompleto"));
            }

            return(View(pedido));
        }
예제 #4
0
        public async Task <IActionResult> Logout()
        {
            //limpa o carrinho antes de fazer logoff, para não exibir carrinho a outros usuários
            _carrinhoCompra.LimparCarrinho();
            await _signInManager.SignOutAsync();

            return(RedirectToAction("Index", "Home"));
        }
예제 #5
0
        public IActionResult Checkout(Pedido pedido)
        {
            decimal precoTotalPedido = 0.0m;
            int     totalItensPedido = 0;

            var items = _carrinhoCompra.GetCarrinhoCompraItems();

            _carrinhoCompra.CarrinhoCompraItens = items;

            //verifica se tem itens no pedido
            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu carrinho está vazio, inclua um lanche...");
            }

            //calcula o total do pedido
            foreach (var item in items)
            {
                totalItensPedido += item.Quantidade;
                precoTotalPedido += (item.Lanche.Preco * item.Quantidade);
            }

            //atribui o total de itens do pedido
            pedido.TotalItensPedido = totalItensPedido;

            //atribui o total do pedido ao pedido
            pedido.PedidoTotal = precoTotalPedido;

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                // TempData persiste os dados de um Controller para outro.
                //TempData["Nome"] = pedido.Nome;
                //TempData["NumeroPedido"] = pedido.Id;
                //TempData["DataPedido"] = pedido.PedidoEnviado;


                ViewBag.TotalPedido = pedido.PedidoTotal = _carrinhoCompra.GetCarrinhoCompraTotal();
                ViewBag.CheckoutCompletoMensagem = "Obrigado pelo seu pedido :) ";

                _carrinhoCompra.LimparCarrinho();
                //redireciona para a action informada
                //return RedirectToAction("CheckoutCompleto");
                //Em vez de redirecionar pode chamar diretamente a View, tipando com o pedido
                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }
            return(View(pedido));
        }
예제 #6
0
        public async Task <IActionResult> Logout()
        {
            var itens = _carrinhoCompra.GetCarrinhoCompraItems();

            _carrinhoCompra.CarrinhoCompraItems = itens;

            if (_carrinhoCompra.CarrinhoCompraItems.Count() > 0)
            {
                _carrinhoCompra.LimparCarrinho();
            }

            await _signInManager.SignOutAsync();

            return(RedirectToAction("Loja", "Home"));
        }
예제 #7
0
        public IActionResult Checkout(Pedido pedido)
        {
            var items = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = items;
            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu Carrinho esta vazio, inclua um lanche...");
            }

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);
                _carrinhoCompra.LimparCarrinho();
                return(RedirectToAction("CheckoutCompleto"));
            }
            return(View(pedido));
        }
예제 #8
0
        public IActionResult Chekout(Pedido pedido)
        {
            decimal precoTotalPedido = 0.0m;
            int     totalItensPedido = 0;

            List <CarrinhoCompraItem> itens = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = itens;

            //verifica se existem itens de pedidos
            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu carrinho  esta vazio, inclua um lanche...");
            }
            //calcula o total do pedido
            foreach (var item in itens)
            {
                totalItensPedido += item.Quantidade;
                precoTotalPedido += (item.Lanche.Preco * item.Quantidade);
            }

            //atribuindo o total de itens do pedido
            pedido.TotalItensPedido = totalItensPedido;

            //atribui o total do pedidod ao pedido
            pedido.PedidoTotal = precoTotalPedido;


            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                ViewBag.TotalPedido = _carrinhoCompra.GetCarrinhoCompraTotal();
                ViewBag.CheckoutCompletoMensagem = "Obrigado pelo seu pedido :) ";

                _carrinhoCompra.LimparCarrinho();
                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }

            return(View(pedido));
        }
예제 #9
0
        public IActionResult Checkout(Pedido pedido)
        {
            var items = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = items;

            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu carrinho esta vazio, que tal incluir um lanche...");
            }

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                ViewBag.CheckoutCompletoMensagem = "Obrigado pelo seu pedido  :) ";
                ViewBag.TotalPedido = _carrinhoCompra.GetCarrinhoCompraTotal();
                _carrinhoCompra.LimparCarrinho();
                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }
            return(View(pedido));
        }
예제 #10
0
        public IActionResult Checkout(Pedido pedido)
        {
            decimal precoTotalPedido = 0.0m;
            int     totalItemPedido  = 0;


            var itens = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = itens;
            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "SEU CARRINHO ESTA VAZIO");
            }

            foreach (var calculo in itens)
            {
                totalItemPedido  += calculo.Quantidade;
                precoTotalPedido += (calculo.Lanche.Preco * calculo.Quantidade);
            }
            //pedido.PedidoTotal = precoTotal
            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);
                // _carrinhoCompra.LimparCarrinho();

                //TempData["Cliente"] = pedido.Nome;
                //TempData["NumeroPedido"] = pedido.PedidoId;
                //TempData["Quantidade"] = totalItemPedido.ToString();
                //TempData["DataPedido"] = pedido.PedidoEnviado;

                ViewBag.CheckoutCompletoMensagem = "Finalizando o seu pedido";
                ViewBag.TotalPedido = precoTotalPedido;

                _carrinhoCompra.LimparCarrinho();
                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }
            return(View(pedido));
        }
예제 #11
0
        public IActionResult Checkout(Pedido pedido)
        {
            var itens = _carrinhoCompra.GetCarrinhoCompraItens();

            _carrinhoCompra.CarrinhoCompraItens = itens;

            if (_carrinhoCompra.CarrinhoCompraItens.Count == 0)
            {
                ModelState.AddModelError("", "Seu Carrinho está vazio, inclua um lanche.");
            }

            if (ModelState.IsValid)
            {
                _pedidoRepository.CriarPedido(pedido);

                // Nâo está no curso, mas para não dar o erro "Serialize Decimal"
                // Já faço a conversão antes de enviar para o TempData e para o ViewBag
                decimal totalPedido = _carrinhoCompra.GetCarrinhoCompraTotal();

                //TempData["Cliente"] = pedido.Nome;
                //TempData["NumeroPedido"] = pedido.PedidoId;
                //TempData["DataPedido"] = pedido.PedidoEnviado;
                //TempData["TotalPedido"] = totalPedido.ToString("C2");

                ViewBag.CheckoutCompletoMensagem = "Obrigado pelo seu pedido :) ";
                ViewBag.TotalPedido = totalPedido.ToString("C2");

                _carrinhoCompra.LimparCarrinho();

                //return RedirectToAction("CheckoutCompleto");

                // implementação para exibição de mais informações sobre o pedido
                return(View("~/Views/Pedido/CheckoutCompleto.cshtml", pedido));
            }

            return(View(pedido));
        }
예제 #12
0
        public IActionResult Index()
        {
            _carrinhoCompra.LimparCarrinho();

            return(View());
        }
예제 #13
0
 public RedirectToActionResult LimparCarrinho()
 {
     _carrinhoCompra.LimparCarrinho();
     return(RedirectToAction("Index"));
 }