Example #1
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);
        }