public async Task <UpdateQuantidadeOutput> UpdateItemCarrinhoAsync(string customerId, UpdateQuantidadeInput item) { if (item == null) { throw new ArgumentNullException(); } if (string.IsNullOrWhiteSpace(item.Id)) { throw new ArgumentException(); } if (item.Quantidade < 0) { throw new ArgumentOutOfRangeException(); } var basket = await GetCarrinhoAsync(customerId); ItemCarrinho itemDB = basket.Itens.Where(i => i.ProdutoId == item.Id).SingleOrDefault(); itemDB.Quantidade = item.Quantidade; if (item.Quantidade == 0) { basket.Itens.Remove(itemDB); } MVC.Areas.Carrinho.Model.CarrinhoCliente customerBasket = await UpdateCarrinhoAsync(basket); return(new UpdateQuantidadeOutput(itemDB, customerBasket)); }
public CarrinhoCliente(CarrinhoCliente carrinhoCliente) { this.ClienteId = carrinhoCliente.ClienteId; this.Itens = carrinhoCliente.Itens; }
public async Task <MVC.Areas.Carrinho.Model.CarrinhoCliente> UpdateCarrinhoAsync(MVC.Areas.Carrinho.Model.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)); }