public void Cadastrar(Vaga novaVaga) { novaVaga.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(novaVaga.IdEnderecoNavigation.Cep); // Adiciona novaVaga ctx.Vaga.Add(novaVaga); // Salva as informações para serem gravadas no banco de dados ctx.SaveChanges(); }
/// <summary> /// Cadastra um novo candidato /// </summary> /// <param name="novoCandidato"></param> public void Cadastrar(Candidato novoCandidato) { novoCandidato.IdUsuarioNavigation.IdTipoUsuario = (int)Enums.TipoUsuario.CANDIDATO; novoCandidato.IdStatusUsuario = (int)Enums.StatusUsuario.ATIVO; novoCandidato.IdUsuarioNavigation.DataCadastrado = DateTime.Now; novoCandidato.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(novoCandidato.IdEnderecoNavigation.Cep); ctx.Candidato.Add(novoCandidato); ctx.SaveChanges(); }
private async void boletoClicked(object sender, EventArgs e) { if (Pagamento == null) { await DisplayAlert("Erro", "Nenhum pagamento informado!", "Fechar"); return; } Pagamento.Tipo = TipoPagamentoEnum.Boleto; if (Pagamento.TemEndereco) { gerarBoleto(Pagamento); } else { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario.Enderecos.Count == 1) { preencherEndereco(Pagamento, usuario.Enderecos[0]); gerarBoleto(Pagamento); } else if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { preencherEndereco(Pagamento, endereco); gerarBoleto(Pagamento); }); var enderecos = new List <EnderecoInfo>(); foreach (var endereco in usuario.Enderecos) { enderecos.Add(endereco); } enderecoListaPage.Enderecos = enderecos; enderecoListaPage.Title = "Endereço de Cobrança"; await Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); preencherEndereco(Pagamento, endereco); gerarBoleto(Pagamento); }); await Navigation.PushAsync(cepPage); } } }
/// <summary> /// Cadastra uma nove empresa /// </summary> /// <param name="novaEmpresa"></param> public void Cadastrar(Empresa novaEmpresa) { novaEmpresa.IdUsuarioNavigation.IdTipoUsuario = (int)Enums.TipoUsuario.EMPRESA; novaEmpresa.IdStatusUsuario = (int)Enums.StatusUsuario.PENDENTE; novaEmpresa.IdUsuarioNavigation.DataCadastrado = DateTime.Now; novaEmpresa.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(novaEmpresa.IdEnderecoNavigation.Cep); ctx.Empresa.Add(novaEmpresa); ctx.SaveChanges(); }
private void atualizarSeguimento(SeguimentoInfo seguimento, int left, int top) { var seguimentoView = new SeguimentoView { Seguimento = seguimento }; seguimentoView.AoClicar += (sender, e) => { EnderecoUtils.selecionarEndereco((endereco) => { AoClicar?.Invoke(sender, e); }); }; _seguimentoGrid.Children.Add(seguimentoView, left, top); }
protected virtual void inicializarComponente() { _usuarioPage = UsuarioFormPageFactory.create(); _usuarioPage.Title = "Dados"; _usuarioPage.Gravar = true; _usuarioPage.AoCadastrar += (sender, e) => { //UserDialogs.Instance.Alert("Dados alterados com sucesso.", "Aviso", "Fechar"); _usuarioPage.DisplayAlert("Aviso", "Dados alterados com sucesso.", "Fechar"); }; _enderecoListaPage = EnderecoUtils.gerarEnderecoLista(null); _cartaoListaPage = new CartaoListaPage { Title = "Meus cartões" }; }
public IActionResult Refresh() { var vagas = _vagaRepository.Listar(); var candidatos = _candidatoRepository.Listar(); // Deleta tudo para se preparar para a operação. _matchingRepository.DeletarAll(); foreach (Vaga v in vagas) { foreach (Candidato c in candidatos) { double qtdeHc = c.HabilidadeCandidato.Count; double qtdeHv = v.HabilidadeVaga.Count; double qtdeRelacionadas = 0; double percentage = 0; double distancia = Math.Round(EnderecoUtils .Distancia(c.IdEnderecoNavigation.Lat, c.IdEnderecoNavigation.Long, v.IdEnderecoNavigation.Lat, v.IdEnderecoNavigation.Long, 'K'), 2); foreach (var hc in c.HabilidadeCandidato) { var hvMatch = v.HabilidadeVaga.FirstOrDefault(hv => hv.IdHabilidade == hc.IdHabilidade); if (hvMatch != null) { qtdeRelacionadas++; } } // Evitar dividir por 0. if (qtdeRelacionadas > 0) { percentage = (qtdeRelacionadas / qtdeHv) * 100; } var match = new Matching { IdCandidato = c.IdUsuario, IdVaga = v.IdVaga, Porcentagem = Math.Round((percentage / 1.5) + (33 - distancia), 2), Distancia = distancia }; _matchingRepository.Cadastrar(match); } } return(StatusCode(204)); }
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"); } }); }
public EnderecoListaPage() { Title = "Meus Endereços"; Style = Estilo.Current[Estilo.TELA_PADRAO]; _enderecos = new List <EnderecoInfo>(); ToolbarItems.Add(new IconToolbarItem { Text = "Adicionar", Icon = "fa-plus", IconColor = Estilo.Current.BarTitleColor, Order = ToolbarItemOrder.Primary, Command = new Command(() => { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { _enderecos.Add(endereco); AoAtualizar?.Invoke(this, _enderecos); Navigation.PopAsync(); }, false); Navigation.PushAsync(cepPage); }) }); inicializarComponente(); Content = new StackLayout { Margin = new Thickness(3, 3), VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, Children = { _enderecoListView } }; }
/// <summary> /// Atualiza o candidato por id /// </summary> /// <param name="id"></param> /// <param name="candidatoAtualizado"></param> public void Atualizar(int id, Candidato candidatoAtualizado) { var c = ctx.Candidato.Include(candidato => candidato.IdUsuarioNavigation) .Include(hc => hc.HabilidadeCandidato) .FirstOrDefault(candidato => candidato.IdUsuario == id); if (c != null) { if (candidatoAtualizado.CelularCandidato != null) { c.CelularCandidato = candidatoAtualizado.CelularCandidato; } if (candidatoAtualizado.IdEnderecoNavigation != null) { if (candidatoAtualizado.IdEnderecoNavigation.Cep != null) { c.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(candidatoAtualizado.IdEnderecoNavigation.Cep); } } if (candidatoAtualizado.Cpf != null) { c.Cpf = candidatoAtualizado.Cpf; } if (candidatoAtualizado.Curso != null) { c.Curso = candidatoAtualizado.Curso; } if (candidatoAtualizado.FormacaoAcademica != null) { c.FormacaoAcademica = candidatoAtualizado.FormacaoAcademica; } if (candidatoAtualizado.Nome != null) { c.Nome = candidatoAtualizado.Nome; } if (candidatoAtualizado.Sobrenome != null) { c.Sobrenome = candidatoAtualizado.Sobrenome; } if (candidatoAtualizado.DataNascimento != DateTime.MinValue) { c.DataNascimento = candidatoAtualizado.DataNascimento; } if (candidatoAtualizado.Rg != null) { c.Rg = candidatoAtualizado.Rg; } if (candidatoAtualizado.TelefoneCandidato != null) { c.TelefoneCandidato = candidatoAtualizado.TelefoneCandidato; } foreach (var hc in c.HabilidadeCandidato) { habilidadeCandidatoRepository.Deletar(hc.IdHabilidadeCandidato); } c.HabilidadeCandidato = candidatoAtualizado.HabilidadeCandidato; if (candidatoAtualizado.IdUsuarioNavigation != null) { if (candidatoAtualizado.IdUsuarioNavigation.Email != null) { c.IdUsuarioNavigation.Email = candidatoAtualizado.IdUsuarioNavigation.Email; } if (candidatoAtualizado.IdUsuarioNavigation.Senha != null) { c.IdUsuarioNavigation.Senha = StringUtils.Criptografar(candidatoAtualizado.IdUsuarioNavigation.Senha); } } } ctx.SaveChanges(); }
public void Atualizar(int id, Vaga v) { // Busca uma vaga através do id Vaga vagaBuscada = ctx.Vaga.Find(id); // Atribui os novos valores ao campos existentes if (v.Titulo != null) { vagaBuscada.Titulo = v.Titulo; } if (v.Salario != 0) { vagaBuscada.Salario = v.Salario; } if (v.IdEnderecoNavigation != null) { if (v.IdEnderecoNavigation.Cep != null) { vagaBuscada.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(v.IdEnderecoNavigation.Cep); } } if (v.Qualificacao != null) { vagaBuscada.Qualificacao = v.Qualificacao; } if (v.DataCriado != DateTime.MinValue) { vagaBuscada.DataCriado = v.DataCriado; } if (v.DataExpiracao != DateTime.MinValue) { vagaBuscada.DataExpiracao = v.DataExpiracao; } if (v.CargaHoraria != 0) { vagaBuscada.CargaHoraria = v.CargaHoraria; } if (v.Descricao != null) { vagaBuscada.Descricao = v.Descricao; } if (v.Visualizacao != 0) { vagaBuscada.Visualizacao = v.Visualizacao; } if (v.IdEmpresaNavigation != null) { vagaBuscada.IdEmpresaNavigation = v.IdEmpresaNavigation; } if (v.BeneficioVaga.Count > 0) { vagaBuscada.BeneficioVaga = v.BeneficioVaga; } if (v.Candidatura.Count > 0) { vagaBuscada.Candidatura = v.Candidatura; } if (v.HabilidadeVaga.Count > 0) { vagaBuscada.HabilidadeVaga = v.HabilidadeVaga; } // Atualiza a vaga que foi buscada ctx.Vaga.Update(vagaBuscada); // Salva as informações para serem gravadas no banco ctx.SaveChanges(); }
/* * private async void abrirHorarioEntrega(PedidoInfo pedido) { * UserDialogs.Instance.ShowLoading("Carregando horários de entrega..."); * try * { * var regraHorario = PedidoHorarioFactory.create(); * var horarios = await regraHorario.listar(Pedido.IdLoja); * if (horarios.Count > 1) * { * var horarioEntregaPage = new HorarioEntregaPage() * { * Title = "Horário de Entrega", * Horarios = horarios * }; * horarioEntregaPage.AoSelecionar += (s2, horario) => * { * Pedido.DiaEntrega = horarioEntregaPage.DiaEntrega; * Pedido.HorarioEntrega = horario.Horario; * definirEntrega(Pedido); * }; * UserDialogs.Instance.HideLoading(); * await Navigation.PushAsync(horarioEntregaPage); * } * else * { * UserDialogs.Instance.HideLoading(); * definirEntrega(Pedido); * } * } * catch (Exception erro) * { * UserDialogs.Instance.HideLoading(); * UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar"); * //await DisplayAlert("Erro", erro.Message, "Entendi"); * } * } */ protected virtual void inicializarComponente() { _entregaButton = new MenuButton { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Icon = "fa-motorcycle", Text = "Receber em\nCasa", Style = Estilo.Current[Estilo.BTN_ROOT] }; _entregaButton.Click += async(sender, e) => { Pedido.Entrega = EntregaEnum.Entrega; var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); /* * if (usuario.Enderecos.Count == 1) * { * var endereco = usuario.Enderecos[0]; * 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; * * definirEntrega(Pedido); * } */ if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { 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; //abrirHorarioEntrega(Pedido); definirEntrega(Pedido); }); var enderecos = new List <EnderecoInfo>(); foreach (var endereco in usuario.Enderecos) { enderecos.Add(endereco); } enderecoListaPage.Enderecos = enderecos; await Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep(async(endereco) => { UserDialogs.Instance.ShowLoading("Atualizando endereço..."); try { var regraLogin = UsuarioFactory.create(); usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); await regraLogin.alterar(usuario); regraLogin.gravarAtual(usuario); 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; var regraHorario = PedidoHorarioFactory.create(); var horarios = await regraHorario.listar(Pedido.IdLoja); if (horarios.Count > 1) { var horarioEntregaPage = new HorarioEntregaPage() { Title = "Horário de Entrega", Horarios = horarios }; horarioEntregaPage.AoSelecionar += (s2, e2) => { definirEntrega(Pedido); }; UserDialogs.Instance.HideLoading(); await Navigation.PushAsync(horarioEntregaPage); } else { UserDialogs.Instance.HideLoading(); definirEntrega(Pedido); } } catch (Exception erro) { UserDialogs.Instance.HideLoading(); UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar"); //await DisplayAlert("Erro", erro.Message, "Entendi"); } }, false); await Navigation.PushAsync(cepPage); } }; _retirarNoLocalButton = new MenuButton { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Icon = "fa-home", Text = "Retirar na Loja", Style = Estilo.Current[Estilo.BTN_ROOT] }; _retirarNoLocalButton.Click += (sender, e) => { Pedido.Entrega = EntregaEnum.RetirarNaLoja; var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario.Enderecos.Count == 1) { var endereco = usuario.Enderecos[0]; 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; } definirEntrega(Pedido); }; }
/// <summary> /// Atualiza uma empresa pelo id /// </summary> /// <param name="id"></param> /// <param name="empresaAtualizada"></param> public void Atualizar(int id, Empresa empresaAtualizada) { var e = ctx.Empresa.Include(empresa => empresa.IdUsuarioNavigation) .FirstOrDefault(empresa => empresa.IdUsuario == id); if (e != null) { if (empresaAtualizada.CelularEmpresa != null) { e.CelularEmpresa = empresaAtualizada.CelularEmpresa; } if (empresaAtualizada.Foto != null) { e.Foto = empresaAtualizada.Foto; } if (empresaAtualizada.IdEnderecoNavigation != null) { if (empresaAtualizada.IdEnderecoNavigation.Cep != null) { e.IdEnderecoNavigation = EnderecoUtils.BuscarEndereco(empresaAtualizada.IdEnderecoNavigation.Cep); } } if (empresaAtualizada.Cnae != null) { e.Cnae = empresaAtualizada.Cnae; } if (empresaAtualizada.Cnpj != null) { e.Cnpj = empresaAtualizada.Cnpj; } if (empresaAtualizada.RazaoSocial != null) { e.RazaoSocial = empresaAtualizada.RazaoSocial; } if (empresaAtualizada.NomeFantasia != null) { e.NomeFantasia = empresaAtualizada.NomeFantasia; } if (empresaAtualizada.TelefoneEmpresa != null) { e.TelefoneEmpresa = empresaAtualizada.TelefoneEmpresa; } if (empresaAtualizada.Descricao != null) { e.Descricao = empresaAtualizada.Descricao; } if (empresaAtualizada.Visualizacao != 0) { e.Visualizacao = empresaAtualizada.Visualizacao; } if (empresaAtualizada.IdUsuarioNavigation != null) { if (empresaAtualizada.IdUsuarioNavigation.Email != null) { e.IdUsuarioNavigation.Email = empresaAtualizada.IdUsuarioNavigation.Email; } if (empresaAtualizada.IdUsuarioNavigation.Senha != null) { e.IdUsuarioNavigation.Senha = StringUtils.Criptografar(empresaAtualizada.IdUsuarioNavigation.Senha); } } } ctx.SaveChanges(); }
/* * 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 Page gerarCarrinho(Action <PedidoInfo> AoSelecionarEndereco) { var carrinhoPage = new CarrinhoPage { Title = "Meu carrinho" }; carrinhoPage.AoFinalizar += (s1, produtos) => { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario != null && usuario.Id > 0) { if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); enderecoListaPage.Title = "Local de entrega"; ((Page)s1).Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); ((Page)s1).Navigation.PushAsync(cepPage); } } else { if (usuario == null) { usuario = new UsuarioInfo(); } var usuarioCadastroPage = UsuarioFormPageFactory.create(); usuarioCadastroPage.Title = "Cadastre-se"; usuarioCadastroPage.Gravar = true; usuarioCadastroPage.Usuario = usuario; usuarioCadastroPage.AoCadastrar += (s2, usuario2) => { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); ((Page)s2).Navigation.PushAsync(cepPage); }; ((Page)s1).Navigation.PushAsync(usuarioCadastroPage); } }; return(carrinhoPage); }