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 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"); } }