示例#1
0
        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;
 }
示例#3
0
        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));
        }