Exemple #1
0
        public async Task <IActionResult> Index()
        {
            var usuario = await _userManager.GetUserAsync(HttpContext.User);

            var produtosAdicionados = await _carrinhoCompraRepository.GetItemsForUserById(usuario.Id);

            var carrinhoVm = new CarrinhoCompraViewModel
            {
                CarrinhoCompraList = produtosAdicionados,
                ValorTotalItems    = _carrinhoCompraRepository.GetValorTotalDeItems(produtosAdicionados)
            };

            return(View(carrinhoVm));
        }
Exemple #2
0
        public async Task <IActionResult> ItensCarrinhoResumo()
        {
            Usuario usuario = await _userManager.GetUserAsync(HttpContext.User);

            var carrinhoVm = new CarrinhoCompraViewModel();

            if (usuario != null)
            {
                var produtosAdicionados = await _carrinhoCompraRepository.GetItemsForUserById(usuario.Id);

                carrinhoVm.CarrinhoCompraList = produtosAdicionados;
                carrinhoVm.ValorTotalItems    = _carrinhoCompraRepository.GetValorTotalDeItems(produtosAdicionados);
            }

            return(Json(carrinhoVm));
        }
        public async Task ExecutarPedido(Pedido pedido, List <CarrinhoCompraItem> carrinhoCompraItens)
        {
            try
            {
                pedido.ValorTotal = _carrinhoCompraRepository.GetValorTotalDeItems(carrinhoCompraItens);
                pedido.Status     = PagamentoStatusEnum.Pago;
                pedido.Entregue   = BooleanoEnum.Nao;
                pedido.Data       = DateTime.Now;
                var pedidoCadastrado = await _pedidoRepository.Cadastrar(pedido);

                await this.InserirPedidoItens(pedidoCadastrado.PedidoId, carrinhoCompraItens);
            }
            catch (Exception)
            {
                throw new CreatedException("Não por possível cadastrar o pedido no momento, Por favor tente novamente mais tarde.");
            }
        }