protected override void OnAppearing()
        {
            base.OnAppearing();
            var regraLoja = LojaFactory.create();

            _barraSlider.Value = regraLoja.RaioBusca;
        }
Beispiel #2
0
        /*
         * protected virtual void atualizarProduto(IList<ProdutoInfo> produtos) {
         *  _produtoListView.ItemsSource = produtos;
         * }
         */

        protected virtual async Task carregarProduto()
        {
            UserDialogs.Instance.ShowLoading("Carregando...");
            try
            {
                var regraLoja = LojaFactory.create();
                var loja      = regraLoja.pegarAtual();
                if (loja != null)
                {
                    _empresaLabel.Text = loja.Nome;
                }

                var args = new ProdutoListaEventArgs(Filtro);
                //await AoCarregar?.Invoke(this, args);
                var regraProduto = ProdutoFactory.create();
                var retorno      = await regraProduto.buscar(Filtro);

                _produtoListView.ItemsSource = retorno.Produtos;
                //atualizarProduto(retorno.Produtos);
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
            }
        }
Beispiel #3
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja != null)
            {
                _empresaLabel.Text = loja.Nome;
                if (loja.ValorMinimo > 0)
                {
                    _valorMinimoLabel.Text = loja.ValorMinimo.ToString("N2");
                }
                else
                {
                    _rodapeLayout.Children.Remove(_valorMinimoLayout);
                }
            }

            var regraCarrinho = CarrinhoFactory.create();

            if (regraCarrinho.Loja != null)
            {
                _empresaLabel.Text = regraCarrinho.Loja.Nome;
            }
            _ProdutoListView.ItemsSource = regraCarrinho.listar();
            _totalView.vincularComCarrinho();
        }
        private void inicializarComponente()
        {
            _barraSlider = new Slider {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Margin            = new Thickness(5, 15),
                Maximum           = 310,
                Minimum           = 10,
                Value             = 100
            };
            _barraSlider.ValueChanged += (sender, e) => {
                _raioLabel.Text = e.NewValue.ToString("N0") + " km";
            };
            _raioLabel = new Label
            {
                HorizontalOptions       = LayoutOptions.Fill,
                VerticalOptions         = LayoutOptions.Start,
                HorizontalTextAlignment = TextAlignment.Center,
                FontSize       = 24,
                FontAttributes = FontAttributes.Bold,
                Text           = "100 km"
            };

            _avancarButton = new Button {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[Estilo.BTN_PRINCIPAL],
                Text = "Avançar"
            };
            _avancarButton.Clicked += (sender, e) => {
                var regraLoja = LojaFactory.create();
                regraLoja.RaioBusca = Convert.ToInt32(_barraSlider.Value);
                AoAvancar?.Invoke(sender, e);
            };
        }
        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);
        }
        private async void executarBusca(string palavraChave)
        {
            try {
                UserDialogs.Instance.ShowLoading("Buscando...");
                var regraProduto = ProdutoFactory.create();
                var regraLoja    = LojaFactory.create();
                var loja         = regraLoja.pegarAtual();

                Filtro.PalavraChave = palavraChave;
                Items = criarListaInfinita();
                _produtoListView.ItemsSource = null;
                _produtoListView.ItemsSource = Items;
                _buscando = true;
                await Items.LoadMoreAsync();

                //_produtoListView.ItemsSource = await regraProduto.buscar(loja.Id, palavraChave);
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                await DisplayAlert("Erro", erro.Message, "Entendi");
            }
        }
Beispiel #7
0
        protected override void OnAppearing()
        {
            base.OnAppearing();
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja != null)
            {
                _empresaLabel.Text = loja.Nome;
            }
        }
        protected override Task carregarProduto()
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja != null)
            {
                _empresaLabel.Text = loja.Nome;
            }
            return((new TaskFactory()).StartNew(() => { }));
        }
Beispiel #9
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 ®"
            };
        }
Beispiel #10
0
        /*
         * private async Task produtoAoCarregar(object sender, ProdutoListaEventArgs args)
         * {
         *  var regraProduto = ProdutoFactory.create();
         *  var produtos = new List<ProdutoInfo>();
         *  int i = 0;
         *  foreach (var produto in await regraProduto.listar(15)) {
         *      produtos.Add(produto);
         *      i++;
         *      if (i >= 10) {
         *          break;
         *      }
         *  }
         *  args.Produtos = produtos;
         *  return;
         * }
         */

        private static void inicilizarApp()
        {
            var regraLoja = LojaFactory.create();

            regraLoja.RaioBusca = 10000;
            var blankPage = new BlankPage();

            blankPage.Appearing += (sender, e) => {
                PermissaoUtils.pedirPermissao();
            };
            App.Current.MainPage = gerarRootPage(blankPage);
            LojaUtils.inicializarLojaLista();
        }
Beispiel #11
0
        protected override void OnAppearing()
        {
            base.OnAppearing();
            var regraLoja = LojaFactory.create();
            var raioBusca = regraLoja.RaioBusca;

            if (raioBusca <= 0)
            {
                raioBusca = 100;
            }
            _buscaBar.Placeholder = string.Format(_descricaoBusca, raioBusca);
            _bannerView.inicializarRotacao();
        }
        protected virtual void atualizarBotao()
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja.UsaEntregar)
            {
                adicionarBotao(_entregaButton);
            }
            if (loja.UsaRetirar)
            {
                adicionarBotao(_retirarNoLocalButton);
            }
        }
Beispiel #13
0
        public void excluir(ProdutoInfo produto)
        {
            var regraCarrinho = CarrinhoFactory.create();

            regraCarrinho.excluir(produto);
            var produtos = regraCarrinho.listar();

            if (produtos != null && produtos.Count == 0)
            {
                var regraLoja = LojaFactory.create();
                var loja      = regraLoja.pegarAtual();
                _empresaLabel.Text = loja.Nome;
            }
            _ProdutoListView.ItemsSource = produtos;
        }
Beispiel #14
0
 public static Page gerarCarrinhoParaPagamento()
 {
     return(gerarCarrinho((pedido) => {
         var pagamento = PagamentoUtils.gerar(pedido);
         var regraLoja = LojaFactory.create();
         var loja = regraLoja.pegarAtual();
         var pagamentoMetodoPage = new PagamentoMetodoPage {
             Title = "Forma de Pagamento",
             Pagamento = pagamento,
             UsaCredito = loja.AceitaCreditoOnline,
             UsaDebito = loja.AceitaDebitoOnline,
             UsaDinheiro = loja.AceitaDinheiro,
             UsaBoleto = loja.AceitaBoleto
         };
         ((RootPage)App.Current.MainPage).PushAsync(pagamentoMetodoPage);
     }));
 }
        public static ProdutoBuscaPage gerarProdutoBusca()
        {
            var regraLoja   = LojaFactory.create();
            var loja        = regraLoja.pegarAtual();
            var produtoPage = new ProdutoBuscaPage
            {
                Title  = "Buscar produto",
                Filtro = new ProdutoFiltroInfo
                {
                    IdLoja   = loja.Id,
                    Situacao = SituacaoEnum.Ativo,
                    //Destaque = false,
                }
            };

            return(produtoPage);
        }
Beispiel #16
0
        protected async void abrirProduto(BannerPecaInfo peca)
        {
            if (!peca.IdProduto.HasValue)
            {
                await UserDialogs.Instance.AlertAsync("Banner não está ligado a nenhum produto!", "Erro", "Entendi");

                return;
            }
            EnderecoUtils.selecionarEndereco(async(endereco) => {
                UserDialogs.Instance.ShowLoading("Carregando...");
                try
                {
                    var regraProduto = ProdutoFactory.create();
                    var regraLoja    = LojaFactory.create();
                    var produto      = await regraProduto.pegar(peca.IdProduto.Value);

                    var loja = await regraLoja.pegar(produto.IdLoja);
                    await regraLoja.gravarAtual(loja);
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).atualizarMenu();
                    }

                    var produtoPage = new ProdutoPage()
                    {
                        Title   = produto.Nome,
                        Produto = produto
                    };
                    UserDialogs.Instance.HideLoading();
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).PushAsync(produtoPage);
                    }
                    else
                    {
                        App.Current.MainPage = App.gerarRootPage(produtoPage);
                    }
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
            });
        }
Beispiel #17
0
 private async void FinalizarCompraButtonClicked(object sender, EventArgs e)
 {
     if (AoFinalizar != null)
     {
         var regraLoja     = LojaFactory.create();
         var regraCarrinho = CarrinhoFactory.create();
         var loja          = regraLoja.pegarAtual();
         if (loja.ValorMinimo > 0 && regraCarrinho.getTotal() < loja.ValorMinimo)
         {
             var mensagem = string.Format("Sua compra precisa ter o valor mínimo de R$ {0}", loja.ValorMinimo.ToString("N2"));
             await UserDialogs.Instance.AlertAsync(mensagem, "Aviso", "Entendi");
         }
         else
         {
             var produtos = regraCarrinho.listar();
             AoFinalizar(this, produtos);
         }
     }
 }
Beispiel #18
0
        public static PedidoInfo gerar(IList <ProdutoInfo> produtos, EnderecoInfo endereco = null)
        {
            var regraUsuario = UsuarioFactory.create();
            var regraLoja    = LojaFactory.create();

            var usuario = regraUsuario.pegarAtual();
            var loja    = regraLoja.pegarAtual();

            var pedido = new PedidoInfo {
                IdLoja         = loja.Id,
                IdUsuario      = (usuario != null) ? usuario.Id : 0,
                ValorFrete     = 0,
                TrocoPara      = 0,
                FormaPagamento = FormaPagamentoEnum.Dinheiro,
                Situacao       = Model.SituacaoEnum.AguardandoPagamento
            };

            if (endereco != null)
            {
                pedido.Cep         = endereco.Cep;
                pedido.Logradouro  = endereco.Logradouro;
                pedido.Complemento = endereco.Complemento;
                pedido.Numero      = endereco.Numero;
                pedido.Bairro      = endereco.Bairro;
                pedido.Cidade      = endereco.Cidade;
                pedido.Uf          = endereco.Uf;
                pedido.Latitude    = endereco.Latitude;
                pedido.Longitude   = endereco.Longitude;
            }
            foreach (var produto in produtos)
            {
                pedido.Itens.Add(new PedidoItemInfo
                {
                    IdProduto  = produto.Id,
                    Produto    = produto,
                    Quantidade = produto.QuantidadeCarrinho
                });
            }
            return(pedido);
        }
Beispiel #19
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);
        }
        protected async Task atualizarCategoria()
        {
            var regraLoja = LojaFactory.create();
            var loja      = regraLoja.pegarAtual();

            if (loja != null)
            {
                _empresaLabel.Text = loja.Nome;
                var regraCategoria = CategoriaFactory.create();
                UserDialogs.Instance.ShowLoading("Carregando...");
                try {
                    var regraBanner = BannerPecaFactory.create();
                    _bannerView.ItemsSource = await regraBanner.gerar(new BannerFiltroInfo {
                        SlugBanner = BannerUtils.CATEGORIA,
                        IdLoja     = loja.Id,
                        Ordem      = BannerOrdemEnum.PorOrdem
                    });

                    if (IdCategoria.HasValue)
                    {
                        executarAtualizarCategoria(await regraCategoria.listarPorCategoria(loja.Id, IdCategoria.Value));
                    }
                    else
                    {
                        executarAtualizarCategoria(await regraCategoria.listarPai(loja.Id));
                    }
                    UserDialogs.Instance.HideLoading();
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    UserDialogs.Instance.Alert(erro.Message, "Erro", "Entendi");
                }
            }
            else
            {
                await DisplayAlert("Aviso", "Nenhuma loja selecionada.", "Fechar");
            }
        }
        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);
        }
        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);
                }
            }
        }
Beispiel #23
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            if (AoCarregar != null)
            {
                if (_carregado)
                {
                    return;
                }
                UserDialogs.Instance.ShowLoading("Carregando...");
                try
                {
                    var regraLoja = LojaFactory.create();
                    var args      = new LojaListaEventArgs();
                    await AoCarregar?.Invoke(this, args);

                    if (args.Banners != null)
                    {
                        //_bannerView.ItemsSource = args.Banners;
                        this.Banners = args.Banners;
                    }
                    if (args.Lojas != null)
                    {
                        //_lojaListView.ItemsSource = args.Lojas;
                        this.Lojas = args.Lojas;
                    }
                    _carregado = true;
                    UserDialogs.Instance.HideLoading();
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                    await DisplayAlert("Erro", erro.Message, "Entendi");
                }
            }
            _bannerView.inicializarRotacao();
        }
Beispiel #24
0
        protected override async Task carregarProduto()
        {
            removerAvisoVazio();
            UserDialogs.Instance.ShowLoading("Carregando...");
            try
            {
                var regraLoja = LojaFactory.create();
                var loja      = regraLoja.pegarAtual();
                if (loja != null)
                {
                    _empresaLabel.Text = loja.Nome;
                }
                _buscando = true;
                await Items.LoadMoreAsync();

                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
            }
        }
Beispiel #25
0
        //public static void gerarLojaLista(EnderecoInfo endereco) {
        public static async Task <LojaListaPage> gerarLojaLista(SeguimentoInfo seguimento, EnderecoInfo endereco, IList <LojaInfo> lojas)
        {
            var regraLoja     = LojaFactory.create();
            var regraBanner   = BannerPecaFactory.create();
            var lojaListaPage = new LojaListaPage
            {
                Title   = "Selecione sua Loja",
                Banners = await regraBanner.gerar(new BannerFiltroInfo
                {
                    SlugBanner   = BannerUtils.SEGUIMENTO,
                    IdSeguimento = seguimento.Id,
                    Latitude     = endereco.Latitude.Value,
                    Longitude    = endereco.Longitude.Value,
                    Raio         = regraLoja.RaioBusca
                }),
                Lojas = lojas
            };

            /*
             * lojaListaPage.AoCarregar += async (sender, e) =>
             * {
             *  var regraLoja = LojaFactory.create();
             *  var regraBanner = BannerPecaFactory.create();
             *  e.Banners = await regraBanner.gerar(new BannerFiltroInfo
             *  {
             *      SlugBanner = BannerUtils.SEGUIMENTO,
             *      IdSeguimento = seguimento.Id,
             *      Latitude = endereco.Latitude.Value,
             *      Longitude = endereco.Longitude.Value,
             *      Raio = regraLoja.RaioBusca
             *  });
             *  e.Lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca, seguimento.Id);
             * };
             */
            return(lojaListaPage);
        }
Beispiel #26
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 ®"
            };
        }
Beispiel #27
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);
        }
Beispiel #28
0
        /*
         * public static Page gerarEndereco() {
         *  return EnderecoUtils.gerarBuscaPorCep((endereco) =>
         *  {
         *      var regraUsuario = UsuarioFactory.create();
         *      var usuarioCep = regraUsuario.pegarAtual();
         *      if (usuarioCep == null)
         *      {
         *          usuarioCep = new UsuarioInfo();
         *      }
         *      usuarioCep.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco));
         *      regraUsuario.gravarAtual(usuarioCep);
         *
         *      var lojaListaPage = new LojaListaPage
         *      {
         *          Title = "Selecione sua Loja"
         *      };
         *      lojaListaPage.AoCarregar += async (sender, e) =>
         *      {
         *          var regraLoja = LojaFactory.create();
         *          var regraBanner = BannerPecaFactory.create();
         *          e.Banners = await regraBanner.gerar(new BannerFiltroInfo {
         *              SlugBanner = BannerUtils.SEGUIMENTO,
         *              Latitude = endereco.Latitude.Value,
         *              Longitude = endereco.Longitude.Value,
         *              Raio = regraLoja.RaioBusca
         *          });
         *          e.Lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca);
         *      };
         *      if (App.Current.MainPage is RootPage) {
         *          ((RootPage)App.Current.MainPage).PushAsync(lojaListaPage);
         *      }
         *      else {
         *          App.Current.MainPage = App.gerarRootPage(lojaListaPage);
         *      }
         *  });
         * }
         */

        /*
         * public static Page gerarSelecionar() {
         *  var regraUsuario = UsuarioFactory.create();
         *  var usuario = regraUsuario.pegarAtual();
         *  if (usuario != null)
         *  {
         *      if (usuario.Enderecos.Count == 1)
         *      {
         *          var endereco = usuario.Enderecos[0];
         *          var lojaListaPage = new LojaListaPage {
         *              Title = "Selecione sua Loja"
         *          };
         *          lojaListaPage.AoCarregar += async (sender, e) =>
         *          {
         *              var regraLoja = LojaFactory.create();
         *              var regraBanner = BannerPecaFactory.create();
         *              e.Banners = await regraBanner.gerar(new BannerFiltroInfo
         *              {
         *                  SlugBanner = BannerUtils.SEGUIMENTO,
         *                  Latitude = endereco.Latitude.Value,
         *                  Longitude = endereco.Longitude.Value,
         *                  Raio = regraLoja.RaioBusca
         *              });
         *              e.Lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca);
         *          };
         *          return lojaListaPage;
         *      }
         *      else if (usuario.Enderecos.Count > 1)
         *      {
         *          //return EnderecoUtils.gerarEnderecoLista((endereco) =>
         *          var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) =>
         *          {
         *              var lojaListaPage = new LojaListaPage
         *              {
         *                  Title = "Selecione sua Loja"
         *              };
         *              lojaListaPage.AoCarregar += async (sender, e) =>
         *              {
         *                  var regraLoja = LojaFactory.create();
         *                  var regraBanner = BannerPecaFactory.create();
         *                  e.Banners = await regraBanner.gerar(new BannerFiltroInfo
         *                  {
         *                      SlugBanner = BannerUtils.SEGUIMENTO,
         *                      Latitude = endereco.Latitude.Value,
         *                      Longitude = endereco.Longitude.Value,
         *                      Raio = regraLoja.RaioBusca
         *                  });
         *                  e.Lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca);
         *              };
         *              if (App.Current.MainPage is RootPage) {
         *                  ((RootPage)App.Current.MainPage).PushAsync(lojaListaPage);
         *              }
         *              else {
         *                  App.Current.MainPage = App.gerarRootPage(lojaListaPage);
         *              }
         *          });
         *          var enderecos = new List<EnderecoInfo>();
         *          foreach (var endereco in usuario.Enderecos) {
         *              enderecos.Add(endereco);
         *          }
         *          enderecoListaPage.Enderecos = enderecos;
         *          return enderecoListaPage;
         *      }
         *      else
         *      {
         *          return gerarEndereco();
         *      }
         *  }
         *  else
         *  {
         *      return gerarEndereco();
         *  }
         * }
         */

        public static async Task <Page> gerarTelaInicial()
        {
            UserDialogs.Instance.ShowLoading("Carregando...");
            var telaInicialPage = new TelaInicialPage
            {
                Title = "Selecione o seguimento"
            };

            try
            {
                var regraLoja       = LojaFactory.create();
                var regraBanner     = BannerPecaFactory.create();
                var regraSeguimento = SeguimentoFactory.create();
                telaInicialPage.Banners = await regraBanner.gerar(new BannerFiltroInfo
                {
                    SlugBanner = BannerUtils.TELA_INICIAL,
                    Ordem      = BannerOrdemEnum.Aleatorio
                });

                telaInicialPage.Seguimentos = await regraSeguimento.listar();

                telaInicialPage.AoBuscarPorRaio += (sender, raio) => {
                    regraLoja.RaioBusca = raio;
                    EnderecoUtils.selecionarEndereco(async(endereco) => {
                        var seguimentoPage = await gerarSeguimento(endereco);
                        if (App.Current.MainPage is RootPage)
                        {
                            ((RootPage)App.Current.MainPage).PushAsync(seguimentoPage);
                        }
                        else
                        {
                            App.Current.MainPage = App.gerarRootPage(seguimentoPage);
                        }
                    });
                };
                telaInicialPage.AoClicar += (sender, seguimento) => {
                    if (seguimento.ApenasPJ)
                    {
                        LoginUtils.carregarUsuario((usuario) => {
                            if (usuario.PJ.HasValue && usuario.PJ.Value)
                            {
                                EnderecoUtils.selecionarEndereco(async(endereco) => {
                                    /*
                                     * var seguimentoPage = await gerarSeguimento(endereco);
                                     * if (App.Current.MainPage is RootPage) {
                                     *  ((RootPage)App.Current.MainPage).PushAsync(seguimentoPage);
                                     * }
                                     * else {
                                     *  App.Current.MainPage = App.gerarRootPage(seguimentoPage);
                                     * }
                                     */
                                    try {
                                        UserDialogs.Instance.ShowLoading("Carregando...");
                                        var lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca, seguimento.Id);
                                        if (lojas.Count > 0)
                                        {
                                            //var seguimentoPage = await gerarSeguimento(endereco);
                                            var lojaListaPage = await LojaUtils.gerarLojaLista(seguimento, endereco, lojas);
                                            UserDialogs.Instance.HideLoading();
                                            if (App.Current.MainPage is RootPage)
                                            {
                                                ((RootPage)App.Current.MainPage).PushAsync(lojaListaPage);
                                            }
                                            else
                                            {
                                                App.Current.MainPage = App.gerarRootPage(lojaListaPage);
                                            }
                                        }
                                        else
                                        {
                                            UserDialogs.Instance.HideLoading();
                                            await UserDialogs.Instance.AlertAsync("Você deve aumentar o raio da busca ou aguardar futura loja no seguimento.");
                                        }
                                    }
                                    catch (Exception erro)
                                    {
                                        UserDialogs.Instance.HideLoading();
                                        UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                                    }
                                });
                            }
                            else
                            {
                                UserDialogs.Instance.AlertAsync("Essa é uma área apenas para pessoas jurídicas.");
                            }
                        });
                    }
                    else
                    {
                        EnderecoUtils.selecionarEndereco(async(endereco) => {
                            try {
                                UserDialogs.Instance.ShowLoading("Carregando...");
                                var lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca, seguimento.Id);
                                if (lojas.Count > 0)
                                {
                                    //var seguimentoPage = await gerarSeguimento(endereco);
                                    var lojaListaPage = await LojaUtils.gerarLojaLista(seguimento, endereco, lojas);
                                    UserDialogs.Instance.HideLoading();
                                    if (App.Current.MainPage is RootPage)
                                    {
                                        ((RootPage)App.Current.MainPage).PushAsync(lojaListaPage);
                                    }
                                    else
                                    {
                                        App.Current.MainPage = App.gerarRootPage(lojaListaPage);
                                    }
                                }
                                else
                                {
                                    UserDialogs.Instance.HideLoading();
                                    await UserDialogs.Instance.AlertAsync("Você deve aumentar o raio da busca ou aguardar futura loja no seguimento.");
                                }
                            }
                            catch (Exception erro)
                            {
                                UserDialogs.Instance.HideLoading();
                                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                            }
                        });
                    }
                };
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro) {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
            }
            return(telaInicialPage);
        }
Beispiel #29
0
        public static async Task <Page> gerarSeguimento(EnderecoInfo endereco)
        {
            UserDialogs.Instance.ShowLoading("Carregando...");
            var seguimentoPage = new SeguimentoListaPage {
                Title = "Selecione o seguimento"
            };

            try {
                var regraBanner     = BannerPecaFactory.create();
                var regraSeguimento = SeguimentoFactory.create();
                var regraLoja       = LojaFactory.create();
                seguimentoPage.Banners = await regraBanner.gerar(new BannerFiltroInfo
                {
                    /*
                     * SlugBanner = BannerUtils.SEGUIMENTOS,
                     * Latitude = endereco.Latitude.Value,
                     * Longitude = endereco.Longitude.Value,
                     * Raio = regraLoja.RaioBusca,
                     * Ordem = BannerOrdemEnum.Aleatorio
                     */
                    SlugBanner = BannerUtils.SEGUIMENTOS,
                    Ordem      = BannerOrdemEnum.Aleatorio
                });

                seguimentoPage.Seguimentos = await regraSeguimento.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca);

                seguimentoPage.AoBuscarPorRaio += async(sender, raio) => {
                    UserDialogs.Instance.ShowLoading("Carregando...");
                    try
                    {
                        regraLoja.RaioBusca    = raio;
                        seguimentoPage.Banners = await regraBanner.gerar(new BannerFiltroInfo
                        {
                            /*
                             * SlugBanner = BannerUtils.SEGUIMENTOS,
                             * Latitude = endereco.Latitude.Value,
                             * Longitude = endereco.Longitude.Value,
                             * Raio = regraLoja.RaioBusca,
                             * Ordem = BannerOrdemEnum.Aleatorio
                             */
                            SlugBanner = BannerUtils.SEGUIMENTOS,
                            Ordem      = BannerOrdemEnum.Aleatorio
                        });

                        seguimentoPage.Seguimentos = await regraSeguimento.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca);

                        UserDialogs.Instance.HideLoading();
                    }
                    catch (Exception erro)
                    {
                        UserDialogs.Instance.HideLoading();
                        UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                    }
                };
                seguimentoPage.AoClicar += async(sender, seguimento) => {
                    if (seguimento.ApenasPJ)
                    {
                        LoginUtils.carregarUsuario(async(usuario) => {
                            if (usuario.PJ.HasValue && usuario.PJ.Value)
                            {
                                try
                                {
                                    UserDialogs.Instance.ShowLoading("Carregando...");
                                    var lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca, seguimento.Id);
                                    if (lojas.Count > 0)
                                    {
                                        var lojaListaPage = await LojaUtils.gerarLojaLista(seguimento, endereco, lojas);
                                        UserDialogs.Instance.HideLoading();
                                        await seguimentoPage.Navigation.PushAsync(lojaListaPage);
                                    }
                                    else
                                    {
                                        UserDialogs.Instance.HideLoading();
                                        await UserDialogs.Instance.AlertAsync("Você deve aumentar o raio da busca ou aguardar futura loja no seguimento.");
                                    }
                                }
                                catch (Exception erro)
                                {
                                    UserDialogs.Instance.HideLoading();
                                    UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                                }

                                //var lojaListaPage = gerarLojaLista(seguimento, endereco);
                                //seguimentoPage.Navigation.PushAsync(lojaListaPage);
                            }
                            else
                            {
                                await UserDialogs.Instance.AlertAsync("Essa é uma área apenas para pessoas jurídicas.");
                            }
                        });
                    }
                    else
                    {
                        //var lojaListaPage = gerarLojaLista(seguimento, endereco);
                        //seguimentoPage.Navigation.PushAsync(lojaListaPage);
                        try
                        {
                            UserDialogs.Instance.ShowLoading("Carregando...");
                            var lojas = await regraLoja.buscar(endereco.Latitude.Value, endereco.Longitude.Value, regraLoja.RaioBusca, seguimento.Id);

                            if (lojas.Count > 0)
                            {
                                var lojaListaPage = await LojaUtils.gerarLojaLista(seguimento, endereco, lojas);

                                UserDialogs.Instance.HideLoading();
                                await seguimentoPage.Navigation.PushAsync(lojaListaPage);
                            }
                            else
                            {
                                UserDialogs.Instance.HideLoading();
                                await UserDialogs.Instance.AlertAsync("Você deve aumentar o raio da busca ou aguardar futura loja no seguimento.");
                            }
                        }
                        catch (Exception erro)
                        {
                            UserDialogs.Instance.HideLoading();
                            UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                        }
                    }
                };
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
            }
            return(seguimentoPage);
        }
Beispiel #30
0
        private void inicializarComponente()
        {
            _bannerView = new BannerView {
                VerticalOptions   = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.Fill,
                HeightRequest     = 160
            };

            _buscaBar = new SearchBar {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Placeholder       = "RAIO DE BUSCA - 100KM",
                SearchCommand     = new Command(() => {
                    int raioBusca = 0;
                    if (int.TryParse(_buscaBar.Text, out raioBusca))
                    {
                        var regraLoja         = LojaFactory.create();
                        regraLoja.RaioBusca   = raioBusca;
                        _buscaBar.Placeholder = string.Format(_descricaoBusca, raioBusca);
                        AoBuscarPorRaio?.Invoke(this, raioBusca);

                        /*
                         * var regraLoja = LojaFactory.create();
                         * regraLoja.RaioBusca = raioBusca;
                         * _buscaBar.Placeholder = string.Format("RAIO DE BUSCA - {0:N0}KM", raioBusca);
                         * _buscaBar.Text = "";
                         *
                         * Utils.LojaUtils.selecionarEndereco(async (endereco) => {
                         *  var seguimentoPage = await Utils.LojaUtils.gerarSeguimento();
                         *  if (App.Current.MainPage is RootPage) {
                         *      ((RootPage)App.Current.MainPage).PushAsync(seguimentoPage);
                         *  }
                         *  else {
                         *      App.Current.MainPage = App.gerarRootPage(seguimentoPage);
                         *  }
                         * });
                         */
                    }
                })
            };

            _seguimentoGrid = new Grid {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                Margin            = 5,
                RowSpacing        = 10,
                ColumnSpacing     = 10
            };

            /*
             * _seguimentoGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
             * _seguimentoGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
             * _seguimentoGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
             */
            _seguimentoGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            _seguimentoGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            _seguimentoGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            //_seguimentoGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });


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