Exemplo n.º 1
0
        private void inicializarComponente()
        {
            _bannerView   = new BannerView();
            _lojaListView = new ListView {
                Style               = Estilo.Current[Estilo.LISTA_PADRAO],
                HorizontalOptions   = LayoutOptions.FillAndExpand,
                VerticalOptions     = LayoutOptions.FillAndExpand,
                HasUnevenRows       = true,
                RowHeight           = -1,
                SeparatorVisibility = SeparatorVisibility.Default,
                //SeparatorColor = Estilo.Current.PrimaryColor,
                ItemTemplate = new DataTemplate(typeof(LojaFotoCell))
            };
            _lojaListView.SetBinding(ListView.ItemsSourceProperty, new Binding("."));
            _lojaListView.ItemTapped += async(sender, e) => {
                if (e == null)
                {
                    return;
                }
                var loja = (LojaInfo)((ListView)sender).SelectedItem;
                _lojaListView.SelectedItem = null;

                var regraLoja = LojaFactory.create();
                await regraLoja.gravarAtual(loja);

                if (App.Current.MainPage is RootPage)
                {
                    ((RootPage)App.Current.MainPage).atualizarMenu();
                }

                //var promocaoListaPage = ProdutoUtils.gerarProdutoListaDestaque();
                var promocaoListaPage = ProdutoUtils.gerarProdutoListaPromocao();
                if (App.Current.MainPage is RootPage)
                {
                    //((RootPage)App.Current.MainPage).PaginaAtual = promocaoListaPage;
                    ((RootPage)App.Current.MainPage).PushAsync(promocaoListaPage);
                }
                else
                {
                    await Navigation.PushAsync(promocaoListaPage);
                }
                //Navigation.PushAsync(promocaoListaPage);
            };
            _empresaLabel = new Label
            {
                HorizontalOptions       = LayoutOptions.Fill,
                VerticalOptions         = LayoutOptions.Start,
                HorizontalTextAlignment = TextAlignment.Center,
                Margin = new Thickness(0, 5),
                Text   = "Smart Tecnologia ®"
            };
        }
Exemplo n.º 2
0
 protected override void inicializarMenu()
 {
     ToolbarItems.Add(new IconToolbarItem
     {
         Text      = "Buscar",
         Icon      = "fa-search",
         IconColor = Estilo.Current.BarTitleColor,
         Order     = ToolbarItemOrder.Primary,
         Command   = new Command(() =>
         {
             var buscaPage = ProdutoUtils.gerarProdutoBusca();
             Navigation.PushAsync(buscaPage);
         })
     });
     base.inicializarMenu();
 }
        protected async Task abrirCategoria(CategoriaInfo categoria)
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja == null)
            {
                await DisplayAlert("Aviso", "Nenhuma loja selecionada.", "Fechar");

                return;
            }

            var regraCategoria  = CategoriaFactory.create();
            var categoriasFilho = await regraCategoria.listarPorCategoria(loja.Id, categoria.Id);

            if (categoriasFilho.Count > 0)
            {
                var categoriaPage = CategoriaPageFactory.create();
                categoriaPage.Title       = categoria.Nome;
                categoriaPage.IdCategoria = categoria.Id;
                if (AoAbrirProdutoLista != null)
                {
                    categoriaPage.AoAbrirProdutoLista += AoAbrirProdutoLista;
                }
                await Navigation.PushAsync(categoriaPage);
            }
            else
            {
                var produtoPage = ProdutoUtils.gerarProdutoListaPorCategoria(categoria);
                if (AoAbrirProdutoLista != null)
                {
                    AoAbrirProdutoLista(this, produtoPage);
                }
                else
                {
                    await Navigation.PushAsync(produtoPage);
                }
            }
        }
Exemplo n.º 4
0
        protected async void abrirLoja(BannerPecaInfo peca)
        {
            if (!(peca.IdLoja > 0))
            {
                await UserDialogs.Instance.AlertAsync("Banner não está ligado a nenhuma loja!", "Erro", "Entendi");

                return;
            }
            EnderecoUtils.selecionarEndereco(async(endereco) => {
                UserDialogs.Instance.ShowLoading("Carregando...");
                try
                {
                    var regraLoja = LojaFactory.create();
                    var loja      = await regraLoja.pegar(peca.IdLoja);
                    await regraLoja.gravarAtual(loja);
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).atualizarMenu();
                    }

                    var promocaoPage = ProdutoUtils.gerarProdutoListaPromocao();
                    UserDialogs.Instance.HideLoading();
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).PushAsync(promocaoPage);
                    }
                    else
                    {
                        App.Current.MainPage = App.gerarRootPage(promocaoPage);
                    }
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
            });
        }
Exemplo n.º 5
0
        public static IList <MenuItemInfo> gerarMenu()
        {
            var regraUsuario = UsuarioFactory.create();
            var regraLoja    = LojaFactory.create();

            var loja = regraLoja.pegarAtual();

            var  usuario    = regraUsuario.pegarAtual();
            bool estaLogado = usuario != null && usuario.Id > 0;

            var menus = new List <MenuItemInfo>();

            //if (regraLoja.podeMudarLoja())
            //{
            menus.Add(new MenuItemInfo
            {
                IconeFA  = "fa-home",
                Titulo   = "Lojas",
                aoClicar = (sender, e) =>
                {
                    LojaUtils.inicializarLojaLista();
                    //((RootPage)Current.MainPage).PaginaAtual = lojaPage;
                }
            });

            /*
             * menus.Add(new MenuItemInfo
             * {
             *  IconeFA = "fa-home",
             *  Titulo = "Seguimentos",
             *  aoClicar = async (sender, e) =>
             *  {
             *      var telaInicialPage = await LojaUtils.gerarTelaInicial();
             *      ((RootPage)Current.MainPage).PaginaAtual = telaInicialPage;
             *  }
             * });
             */
            //}

            if (loja != null)
            {
                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-bars",
                    Titulo   = "Categorias",
                    aoClicar = (sender, e) =>
                    {
                        var categoriaPage           = CategoriaPageFactory.create();
                        categoriaPage.BannerVisivel = BannerUtils.Ativo;
                        categoriaPage.Title         = "Categorias";
                        ((RootPage)Current.MainPage).PaginaAtual = categoriaPage;
                    }
                });

                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-shopping-bag",
                    Titulo   = "Lista de Compras",
                    aoClicar = (sender, e) =>
                    {
                        var listaCompraPage = new ListaCompraPage {
                            Title = "Lista de Compras"
                        };
                        ((RootPage)Current.MainPage).PushAsync(listaCompraPage);
                    }
                });

                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-dollar",
                    Titulo   = "Em promoção",
                    aoClicar = (sender, e) =>
                    {
                        ((RootPage)Current.MainPage).PaginaAtual = ProdutoUtils.gerarProdutoListaPromocao();
                    }
                });

                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-search",
                    Titulo   = "Buscar",
                    aoClicar = (sender, e) =>
                    {
                        ((RootPage)Current.MainPage).PaginaAtual = ProdutoUtils.gerarProdutoBusca();
                    }
                });

                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-shopping-cart",
                    Titulo   = "Meu Carrinho",
                    aoClicar = (sender, e) =>
                    {
                        ((RootPage)Current.MainPage).PushAsync(CarrinhoUtils.gerarCarrinhoParaEntrega());
                    }
                });
            }

            if (!estaLogado)
            {
                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-user",
                    Titulo   = "Entrar",
                    aoClicar = (sender, e) =>
                    {
                        var loginPage = new LoginPage
                        {
                            Title = "Login"
                        };
                        loginPage.AoLogar += (s, u) =>
                        {
                            var destaquePage = ProdutoUtils.gerarProdutoListaDestaque();
                            ((RootPage)Current.MainPage).PaginaAtual = destaquePage;
                        };
                        ((RootPage)Current.MainPage).PushAsync(loginPage);
                    }
                });
                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-user-plus",
                    Titulo   = "Criar Conta",
                    aoClicar = (sender, e) =>
                    {
                        ((RootPage)Current.MainPage).PaginaAtual = LoginUtils.gerarCadastro((u) => {
                            var destaquePage = ProdutoUtils.gerarProdutoListaDestaque();
                            ((RootPage)Current.MainPage).PaginaAtual = destaquePage;
                        });
                    }
                });
            }
            else
            {
                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-user",
                    Titulo   = "Alterar Conta",
                    aoClicar = (sender, e) =>
                    {
                        ((RootPage)Current.MainPage).PaginaAtual = new PedidoUsuarioGerenciaPage();
                    }
                });

                menus.Add(new MenuItemInfo
                {
                    IconeFA  = "fa-shopping-basket",
                    Titulo   = "Meus Pedidos",
                    aoClicar = async(sender, e) =>
                    {
                        await PedidoUtils.gerarMeuPedido();
                    }
                });
            }

            menus.Add(new MenuItemInfo
            {
                IconeFA  = "fa-map-marker",
                Titulo   = "Raio de Busca",
                aoClicar = (sender, e) =>
                {
                    var raioBuscaPage = new RaioBuscaPage
                    {
                        Title      = "Mudar Raio de Busca",
                        BotaoTexto = "Gravar"
                    };
                    raioBuscaPage.AoAvancar += (s2, e2) => {
                        raioBuscaPage.DisplayAlert("Sucesso", "Raio alterado com sucesso.", "Entendi");
                    };
                    ((RootPage)Current.MainPage).PushAsync(raioBuscaPage);
                }
            });

            menus.Add(new MenuItemInfo
            {
                IconeFA  = "fa-comment",
                Titulo   = "Fale Conosco",
                aoClicar = (sender, e) =>
                {
                    Device.OpenUri(new Uri("mailto:[email protected]"));
                }
            });

            menus.Add(new MenuItemInfo
            {
                IconeFA  = "fa-remove",
                Titulo   = "Sair",
                aoClicar = async(sender, e) =>
                {
                    var regraCarrinho = CarrinhoFactory.create();
                    regraCarrinho.limpar();
                    var regraLogin = UsuarioFactory.create();
                    await LojaFactory.create().limparAtual();
                    await regraLogin.limparAtual();
                    App.inicilizarApp();
                    //App.verificarSeguimento();
                    //Current.MainPage = new NavigationPage(App.gerarBuscaCep());
                }
            });

            return(menus);
        }
Exemplo n.º 6
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 ®"
            };
        }