public int excluir(ProdutoInfo produto) { if (_produtos.ContainsKey(produto.Id)) { produto.QuantidadeCarrinho = 0; _produtos.Remove(produto.Id); } if (_produtos.Count == 0) { this.Loja = null; } AoAtualizar?.Invoke(this, new CarrinhoEventArgs(getQuantidade(), getTotal())); return(0); }
/* * public int remover(ProdutoInfo produto) { * if (_produtos.ContainsKey(produto.Id)) * { * produto.QuantidadeCarrinho--; * if (produto.QuantidadeCarrinho <= 0) { * _produtos.Remove(produto.Id); * } * } * if (_produtos.Count == 0) { * this.Loja = null; * } * AoAtualizar?.Invoke(this, new CarrinhoEventArgs(getQuantidade(), getTotal())); * return produto.QuantidadeCarrinho; * } */ public int remover(int idProduto) { if (_produtos.ContainsKey(idProduto)) { var produto = _produtos[idProduto]; produto.QuantidadeCarrinho--; if (produto.QuantidadeCarrinho <= 0) { _produtos.Remove(produto.Id); } if (_produtos.Count == 0) { this.Loja = null; } AoAtualizar?.Invoke(this, new CarrinhoEventArgs(getQuantidade(), getTotal())); return(produto.QuantidadeCarrinho); } return(0); }
public int adicionar(ProdutoInfo produto) { if (temProdutoDeOutraLoja(produto.IdLoja)) { throw new Exception("Já existem produtos no carrinho de outra loja."); } var regraLoja = LojaFactory.create(); var loja = regraLoja.pegarAtual(); /* * if (!_produtos.ContainsKey(produto.Id)) { * _produtos.Add(produto.Id, produto); * } */ ProdutoInfo produtoAtual = null; if (_produtos.ContainsKey(produto.Id)) { produtoAtual = _produtos[produto.Id]; } else { produtoAtual = produto; _produtos.Add(produtoAtual.Id, produtoAtual); } if (loja.ControleEstoque) { if (produtoAtual.QuantidadeCarrinho < produtoAtual.Quantidade) { produtoAtual.QuantidadeCarrinho++; } } else { produtoAtual.QuantidadeCarrinho++; } this.Loja = loja; AoAtualizar?.Invoke(this, new CarrinhoEventArgs(getQuantidade(), getTotal())); return(produtoAtual.QuantidadeCarrinho); }
public virtual Task limparAtual() { _loja = null; _lojas = null; return(new Task(() => { })); }
public virtual Task gravarAtual(LojaInfo loja) { return(new TaskFactory().StartNew(() => { _loja = loja; })); //App.Current.Properties["loja"] = JsonConvert.SerializeObject(loja); //App.Current.SavePropertiesAsync(); }
public override Task gravarAtual(LojaInfo loja) { _loja = loja; App.Current.Properties["loja"] = JsonConvert.SerializeObject(loja); return(App.Current.SavePropertiesAsync()); }