public async Task <UpdateQuantidadeOutput> UpdateCarrinhoAsync(string clienteId, UpdateQuantidadeInput item) { if (item == null) { throw new ArgumentNullException(); } if (string.IsNullOrWhiteSpace(item.ProdutoId)) { throw new ArgumentException(); } if (item.Quantidade < 0) { throw new ArgumentOutOfRangeException(); } var carrinho = await GetCarrinhoAsync(clienteId); ItemCarrinho itemDB = carrinho.Itens.Where(i => i.ProdutoId == item.ProdutoId).SingleOrDefault(); itemDB.Quantidade = item.Quantidade; if (item.Quantidade == 0) { carrinho.Itens.Remove(itemDB); } CarrinhoCliente carrinhoCliente = await UpdateCarrinhoAsync(carrinho); return(new UpdateQuantidadeOutput(itemDB, carrinhoCliente)); }
public async Task <CarrinhoCliente> UpdateCarrinhoAsync(CarrinhoCliente carrinho) { var criado = await _database.StringSetAsync(carrinho.ClienteId, JsonConvert.SerializeObject(carrinho)); if (!criado) { _logger.LogError("Erro ao atualizar o carrinho."); return(null); } return(await GetCarrinhoAsync(carrinho.ClienteId)); }
public UpdateQuantidadeOutput(ItemCarrinho itemPedido, CarrinhoCliente carrinhoCliente) { ItemPedido = itemPedido; CarrinhoCliente = carrinhoCliente; }
public CarrinhoCliente(CarrinhoCliente carrinhoCliente) { this.ClienteId = carrinhoCliente.ClienteId; this.Itens = carrinhoCliente.Itens; }