Beispiel #1
0
 public void Atualizar(Models.Carrinho carrinho)
 {
     Cupom              = carrinho.Cupom;
     Desconto           = carrinho.Desconto;
     PercentualDesconto = carrinho.PercentualDesconto;
     Frete              = carrinho.Frete;
 }
Beispiel #2
0
        public async Task <UpdateQuantidadeOutput> UpdateItemCarrinhoAsync(string customerId, UpdateQuantidadeInput item)
        {
            if (item == null)
            {
                throw new ArgumentNullException();
            }

            if (item.Id <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(item.Id));
            }

            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);
            }
            Models.Carrinho customerBasket = await UpdateCarrinhoAsync(basket);

            return(new UpdateQuantidadeOutput(itemDB, customerBasket));
        }
Beispiel #3
0
        public async Task <Models.Carrinho> UpdateCarrinhoAsync(Models.Carrinho 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 bool Verifica(Models.Carrinho carrinho)
        {
            foreach (var produto in carrinho.Produtos)
            {
                try
                {
                    if (estoqueRepositorio.GetEstoqueProduto(produto.Nome) < produto.Quantidade)
                    {
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Produto Insuficiente " + produto.Nome, ex);
                }
            }

            return(true);
        }
 /// <summary>
 /// Maps a model to an entity.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <returns></returns>
 public static Entities.Carrinho ToEntity(this Models.Carrinho model)
 {
     return(Mapper.Map <Entities.Carrinho>(model));
 }