protected override void OnAppearing() { base.OnAppearing(); var regraLoja = LojaFactory.create(); _barraSlider.Value = regraLoja.RaioBusca; }
/* * 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"); } }
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"); } }
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(() => { })); }
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 ®" }; }
/* * 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(); }
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); } }
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; }
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); }
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"); } }); }
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); } } }
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); }
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); } } }
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(); }
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"); } }
//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); }
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 ®" }; }
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); }
/* * 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); }
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); }
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 ®" }; }