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"))); } }
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))); }
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); } }