public static ProdutoBasePage gerarProdutoListaPromocao()
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            var produtoPage = ProdutoListaPageFactory.create();

            produtoPage.Title  = "Em Promoção";
            produtoPage.Filtro = new ProdutoFiltroInfo {
                IdLoja         = loja.Id,
                Situacao       = SituacaoEnum.Ativo,
                ApenasEstoque  = loja.ControleEstoque ? true : false,
                ApenasPromocao = true
            };

            /*
             * produtoPage.AoCarregar += async (object sender, ProdutoListaEventArgs produtoArgs) =>
             * {
             *  var regraLoja = LojaFactory.create();
             *  var loja = regraLoja.pegarAtual();
             *  var regraProduto = ProdutoFactory.create();
             *  var filtro = new ProdutoFiltroInfo
             *  {
             *      IdLoja = loja.Id,
             *      Situacao = SituacaoEnum.Ativo,
             *      ApenasEstoque = loja.ControleEstoque ? true : false,
             *      ApenasPromocao = true
             *  };
             *  produtoArgs.Produtos = await regraProduto.listarPorFiltro(filtro);
             * };
             */
            return(produtoPage);
        }
        public static ProdutoBasePage gerarProdutoListaPorCategoria(CategoriaInfo categoria)
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            var produtoPage = ProdutoListaPageFactory.create();

            produtoPage.Title  = categoria.Nome;
            produtoPage.Filtro = new ProdutoFiltroInfo {
                IdLoja      = loja.Id,
                IdCategoria = categoria.Id,
                Situacao    = SituacaoEnum.Ativo
            };
            if (loja.ControleEstoque)
            {
                produtoPage.Filtro.ApenasEstoque = true;
            }

            /*
             * produtoPage.AoCarregar += async (object sender, ProdutoListaEventArgs produtoArgs) =>
             * {
             *  var regraLoja = LojaFactory.create();
             *  var loja = regraLoja.pegarAtual();
             *  var filtro = new ProdutoFiltroInfo
             *  {
             *      IdLoja = loja.Id,
             *      IdCategoria = categoria.Id,
             *      Situacao = SituacaoEnum.Ativo
             *  };
             *  if (loja.ControleEstoque)
             *  {
             *      filtro.ApenasEstoque = true;
             *  }
             *  var regraProduto = ProdutoFactory.create();
             *  produtoArgs.Produtos = await regraProduto.listarPorFiltro(filtro);
             * };
             */
            return(produtoPage);
        }
Beispiel #3
0
        protected void inicializarComponente()
        {
            /*
             * _destaqueButton = new Button
             * {
             *  HorizontalOptions = LayoutOptions.FillAndExpand,
             *  VerticalOptions = LayoutOptions.Start,
             *  Text = "Destaques",
             *  FontSize = 14,
             *  HeightRequest = 40,
             *  Style = Estilo.Current[EstiloProduto.PRODUTO_CARRINHO_BOTAO]
             * };
             */

            _promocaoButton = new Button
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Text          = "Promoções",
                FontSize      = 14,
                HeightRequest = 40,
                Style         = Estilo.Current[EstiloProduto.PRODUTO_CARRINHO_BOTAO]
            };
            _promocaoButton.Clicked += (sender, e) => {
                Navigation.PushAsync(ProdutoUtils.gerarProdutoListaPromocao());
            };

            _pesquisarButton = new Button
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Text          = "PESQUISAR",
                FontSize      = 14,
                HeightRequest = 40,
                Style         = Estilo.Current[EstiloProduto.PRODUTO_CARRINHO_BOTAO]
            };
            _pesquisarButton.Clicked += (sender, e) => {
                var regraLoja             = LojaFactory.create();
                var loja                  = regraLoja.pegarAtual();
                var resultadoPesquisaPage = ProdutoListaPageFactory.create();
                resultadoPesquisaPage.Title  = "Lista de compras";
                resultadoPesquisaPage.Filtro = new ProdutoFiltroInfo {
                    IdLoja       = loja.Id,
                    PalavraChave = string.Join(" ", _palavraChave),
                    Condicao     = true,
                    Situacao     = SituacaoEnum.Ativo
                };

                /*
                 * resultadoPesquisaPage.AoCarregar += async (object s, ProdutoListaEventArgs produtoArgs) =>
                 * {
                 *  var regraLoja = LojaFactory.create();
                 *  var loja = regraLoja.pegarAtual();
                 *  var regraProduto = ProdutoFactory.create();
                 *  var filtro = new ProdutoFiltroInfo
                 *  {
                 *      IdLoja = loja.Id,
                 *      PalavraChave = string.Join(" ", _palavraChave),
                 *      Situacao = SituacaoEnum.Ativo
                 *  };
                 *  produtoArgs.Produtos = await regraProduto.listarPorFiltro(filtro);
                 * };
                 */
                Navigation.PushAsync(resultadoPesquisaPage);
            };

            /*
             * _menuGrid = new Grid
             * {
             *  HorizontalOptions = LayoutOptions.Fill,
             *  VerticalOptions = LayoutOptions.Start,
             *  Margin = 1,
             *  RowSpacing = 1,
             *  ColumnSpacing = 3
             * };
             * _menuGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
             * _menuGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
             *
             * _menuGrid.Children.Add(_destaqueButton, 0, 0);
             * _menuGrid.Children.Add(_promocaoButton, 1, 0);
             */

            _buscaBar = new SearchBar
            {
                //Placeholder = "BUSQUE POR LOJAS EM SUA REGIÃO",
                Placeholder   = "Adicione outra palavra-chave",
                SearchCommand = new Command(() => {
                    adicionarPalavraChave(_buscaBar.Text);
                    _buscaBar.Text = "";
                })
            };

            _palavraChaveListView = new ListView
            {
                VerticalOptions     = LayoutOptions.FillAndExpand,
                HorizontalOptions   = LayoutOptions.FillAndExpand,
                HasUnevenRows       = true,
                RowHeight           = -1,
                SeparatorVisibility = SeparatorVisibility.Default,
                SeparatorColor      = Estilo.Current.PrimaryColor,
                ItemTemplate        = new DataTemplate(typeof(ListaCompraCell))
            };
            _palavraChaveListView.SetBinding(ListView.ItemsSourceProperty, new Binding("."));
            _palavraChaveListView.ItemTapped += (sender, e) => {
                if (e == null)
                {
                    return;
                }
                //var categoria = (CategoriaInfo)((ListView)sender).SelectedItem;
                _palavraChaveListView.SelectedItem = null;

                //await abrirCategoria(categoria);
            };

            _empresaLabel = new Label
            {
                HorizontalOptions       = LayoutOptions.Fill,
                VerticalOptions         = LayoutOptions.Start,
                HorizontalTextAlignment = TextAlignment.Center,
                FontAttributes          = FontAttributes.Bold,
                Margin = new Thickness(0, 0, 0, 3),
                Text   = "Smart Tecnologia ®"
            };
        }