コード例 #1
0
        public async Task <IActionResult> Adicionar(int produtoId, int quantidade)
        {
            try
            {
                var produtoResult = await _produtoRepository.GetById(produtoId);

                if (produtoResult != null)
                {
                    var usuario           = _userManager.GetUserAsync(HttpContext.User).Result;
                    var produtosDoUsuario = await _carrinhoCompraRepository.GetItemsForUserById(usuario.Id);

                    var isProdutoAdicionado = CarrinhoCompraService.VerificarProdutoAdicionadoAoCarrinho(produtosDoUsuario, produtoId);

                    if (isProdutoAdicionado)
                    {
                        throw new InvalidArgumentException("Este produto ja foi adicionado em seu carrinho.");
                    }

                    var carrinhoMontado = _carrinhoCompraRepository.CreateObject(produtoId, quantidade, usuario.Id);
                    await _carrinhoCompraRepository.Adicionar(carrinhoMontado);

                    return(Json(ResponseMensage.GetMensage(StatusMensageEnum.success, "Produto Adicionado ao carrinho!")));
                }

                return(Json(ResponseMensage.GetMensage(StatusMensageEnum.warning, "O produto não foi encontrado!")));
            }
            catch (Exception e)
            {
                return(Json(ResponseMensage.GetMensage(StatusMensageEnum.error, e.Message)));
            }
        }
コード例 #2
0
        public async Task <IActionResult> CheckoutMercadoPago(long id)
        {
            var usuario       = _userManager.GetUserAsync(HttpContext.User).Result;
            var produtoResult = await _produtoRepository.GetById(id);

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

            var isProdutoAdicionado = CarrinhoCompraService.VerificarProdutoAdicionadoAoCarrinho(produtosDoUsuario, (int)produtoResult.ProdutoId);

            var checkouMercadoPagoViewModel = new CheckoutMercadoPagoViewModel
            {
                Produto            = produtoResult,
                CarrinhoCompraItem = produtosDoUsuario.FirstOrDefault(p => p.ProdutoId == produtoResult.ProdutoId)
            };

            if (!isProdutoAdicionado)
            {
                var carrinhoMontado = _carrinhoCompraRepository.CreateObject(produtoResult.ProdutoId, 1, usuario.Id);
                checkouMercadoPagoViewModel.CarrinhoCompraItem = await _carrinhoCompraRepository.Adicionar(carrinhoMontado);
            }

            return(View(checkouMercadoPagoViewModel));
        }