コード例 #1
0
        public async Task <IActionResult> Remover(int carrinhoId)
        {
            try
            {
                if (carrinhoId < 1)
                {
                    return(Json(ResponseMensage.GetMensage(StatusMensageEnum.warning, "O produto não foi encontrado!")));
                }

                var carrinhoResult = await _carrinhoCompraRepository.GetCarrinhoItemById(carrinhoId);

                if (carrinhoResult == null)
                {
                    return(Json(ResponseMensage.GetMensage(StatusMensageEnum.warning, "O produto não foi encontrado!")));
                }

                await _carrinhoCompraRepository.Remover(carrinhoResult);

                return(Json(ResponseMensage.GetMensage(StatusMensageEnum.success, "Item removido com sucesso")));
            }
            catch (Exception)
            {
                return(Json(ResponseMensage.GetMensage(StatusMensageEnum.error, "Desculpe ocorreu um erro no servidor")));
            }
        }
コード例 #2
0
        public async Task <IActionResult> CheckoutMercadoPago(
            long produtoId,
            long carrinhoCompraId,
            string cep,
            string cidade,
            string estado,
            string bairro,
            string endereco,
            string numero,
            string complemento,
            decimal valorTotal
            )
        {
            var usuario = _userManager.GetUserAsync(HttpContext.User).Result;

            var pedidoCadastrado = await _pedidoRepository.Cadastrar(new Pedido
            {
                UsuarioId   = usuario.Id,
                Cep         = cep,
                Cidade      = cidade,
                Estado      = estado,
                Bairro      = bairro,
                Endereco    = endereco,
                Numero      = numero,
                Complemento = complemento,
                ValorTotal  = valorTotal,
                Data        = DateTime.UtcNow,
                Status      = PagamentoStatusEnum.Pago,
                Entregue    = BooleanoEnum.Nao
            }
                                                                     );

            var pedidoItem = new PedidoItem
            {
                PedidoId   = pedidoCadastrado.PedidoId,
                ProdutoId  = produtoId,
                Quantidade = 1
            };

            await _pedidoItemRepository.Cadastrar(pedidoItem);

            var carrinhoResult = await _carrinhoCompraRepository.GetCarrinhoItemById(carrinhoCompraId);

            await _carrinhoCompraRepository.Remover(carrinhoResult);

            await _produtoRepository.BaixarQuantidadeProduto(produtoId, 1);

            var produtoResult = await _produtoRepository.GetById(produtoId);

            return(Json(ResponseMensage.GetMensage(StatusMensageEnum.warning, produtoResult.LinkMercadoPago)));
        }
コード例 #3
0
        private async Task InserirPedidoItens(long pedidoId, List <CarrinhoCompraItem> carrinhoCompraItens)
        {
            foreach (CarrinhoCompraItem carrinhoItem in carrinhoCompraItens)
            {
                var pedidoItem = new PedidoItem
                {
                    PedidoId   = pedidoId,
                    ProdutoId  = carrinhoItem.ProdutoId,
                    Quantidade = carrinhoItem.Quantidade
                };

                await _produtoRepository.BaixarQuantidadeProduto(carrinhoItem.ProdutoId, carrinhoItem.Quantidade);

                await _pedidoItemRepository.Cadastrar(pedidoItem);

                var carrinhoResult = await _carrinhoCompraRepository.GetCarrinhoItemById(carrinhoItem.CarrinhoCompraId);

                await _carrinhoCompraRepository.Remover(carrinhoResult);
            }
        }