/// <summary> /// Click do botão Login /// </summary> private async Task ObterRelacaoServicosAsync() { try { // Mostra a tela de aguarde MessagingCenterHelper.TelaAguardeMostrar(this); // Verifica se o token do usuário logado ainda é válido await LoginService.VerifyIdToken(); // Obtém dados do DynamoDB AmazonDynamoDBClient client = AwsHelper.AmazonDynamoDBClient; DynamoDBContext context = AwsHelper.DynamoDBContext; QueryRequest request = new QueryRequest { TableName = Servico.TabelaNome, KeyConditionExpression = "(PK = :v_PK) AND begins_with(SK, :v_SK)", ExpressionAttributeValues = new Dictionary <string, AttributeValue> { { ":v_PK", new AttributeValue { S = Servico.PkChave } }, { ":v_SK", new AttributeValue { S = Servico.SkChave } } } }; // Retorno QueryResponse response = await client.QueryAsync(request); // Converte o retorno para lista de objetos List <Servico> listaRetorno = new List <Servico>(); foreach (Dictionary <string, AttributeValue> item in response.Items) { listaRetorno.Add(context.FromDocument <Servico>(Document.FromAttributeMap(item))); } // Atualiza a lista this.ListaServicos.AddRange(listaRetorno.OrderBy(x => x.Descricao)); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } finally { MessagingCenterHelper.TelaAguardeFechar(this); } }
/// <summary> /// CallSettings /// </summary> /// <returns>Task</returns> private async Task GetUsername() { try { this.Username = await Task.Run(() => LoginService.GetActiveUsername()); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } }
/// <summary> /// Método Ajuda /// </summary> /// <returns>Task</returns> private async Task Ajuda() { try { await Shell.Current.GoToAsync($"{nameof(DefaultPage)}"); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } }
/// <summary> /// Método Logout /// </summary> /// <returns>Task</returns> private async Task Logout() { try { LoginService.UsuarioLogout(); await Shell.Current.GoToAsync($"//{nameof(LoginPage)}"); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } }
/// <summary> /// Enviar mensagem /// </summary> /// <param name="view">View a qual a mensagem será apresentada</param> /// <param name="tipo">Tipo da mensagem</param> /// <param name="mensagem">Mensagem a ser exibida</param> /// <param name="descricaoConfirmar">Botão confirmar - Descrição</param> /// <param name="descricaoCancelar">Botão cancelar - Descrição</param> /// <returns>True se foi confirmado</returns> public static async Task <bool> Show(Page view, TipoMensagem tipo, string mensagem, string descricaoConfirmar, string descricaoCancelar) { if (string.IsNullOrWhiteSpace(descricaoCancelar)) { descricaoCancelar = "OK"; } if (string.IsNullOrWhiteSpace(descricaoConfirmar)) { MessagingCenterHelper.TelaAguardeFechar((BaseViewModel)view?.BindingContext); await view?.DisplayAlert(Enumerador.ObterDescricao(tipo), mensagem, descricaoCancelar); return(false); } // Tratar retorno MessagingCenterHelper.TelaAguardeFechar((BaseViewModel)view?.BindingContext); return(await view?.DisplayAlert(Enumerador.ObterDescricao(tipo), mensagem, descricaoConfirmar, descricaoCancelar)); }
/// <summary> /// CallSettings /// </summary> /// <returns>Task</returns> private async Task CallSettings() { try { await Shell.Current.GoToAsync($"{nameof(SettingsPage)}"); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } finally { MessagingCenterHelper.TelaAguardeFechar(this); } }
/// <summary> /// Método CallRelacaoServicos /// </summary> /// <returns>Task</returns> private async Task CallRelacaoServicos() { try { // Navega para a relação de serviços await Shell.Current.GoToAsync($"{nameof(RelacaoServicosPage)}"); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } finally { MessagingCenterHelper.TelaAguardeFechar(this); } }
/// <summary> /// CallTelaAguarde /// </summary> /// <returns>Task</returns> private async Task CallTelaAguarde() { try { // Mostra a tela de aguarde MessagingCenterHelper.TelaAguardeMostrar(this); // Aguarda 2 segundos await Task.Delay(TimeSpan.FromSeconds(5)); } catch (MobileErrorException e) { MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e), MessageBox.TipoMensagem.Atencao); } catch (Exception e) { MobileErrorException.EnviarErroAppCenter(e); MessagingCenterHelper.ExibirMensagem(MobileErrorException.GetMessageFull(e, true), MessageBox.TipoMensagem.Erro); } finally { MessagingCenterHelper.TelaAguardeFechar(this); } }