コード例 #1
0
 public void excluir(EnderecoInfo endereco)
 {
     if (_enderecos != null)
     {
         _enderecoListView.ItemsSource = null;
         _enderecos.Remove(endereco);
         _enderecoListView.ItemsSource = _enderecos;
         AoAtualizar?.Invoke(this, _enderecos);
     }
 }
コード例 #2
0
 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);
 }
コード例 #3
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);
 }
コード例 #4
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);
        }
コード例 #5
0
        public EnderecoListaPage()
        {
            Title = "Meus Endereços";
            Style = Estilo.Current[Estilo.TELA_PADRAO];

            _enderecos = new List <EnderecoInfo>();

            ToolbarItems.Add(new IconToolbarItem
            {
                Text      = "Adicionar",
                Icon      = "fa-plus",
                IconColor = Estilo.Current.BarTitleColor,
                Order     = ToolbarItemOrder.Primary,
                Command   = new Command(() => {
                    var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) =>
                    {
                        _enderecos.Add(endereco);
                        AoAtualizar?.Invoke(this, _enderecos);
                        Navigation.PopAsync();
                    }, false);
                    Navigation.PushAsync(cepPage);
                })
            });

            inicializarComponente();
            Content = new StackLayout
            {
                Margin            = new Thickness(3, 3),
                VerticalOptions   = LayoutOptions.Fill,
                HorizontalOptions = LayoutOptions.Fill,
                Children          =
                {
                    _enderecoListView
                }
            };
        }
コード例 #6
0
 public void limpar()
 {
     _produtos = new Dictionary <int, ProdutoInfo>();
     AoAtualizar?.Invoke(this, new CarrinhoEventArgs(getQuantidade(), getTotal()));
 }