/// <summary> /// Tira um screenshot do Scorecard, enviando para o email do jogador /// da propriedade JogadorAEnviarPrint. /// </summary> private async Task TirarPrint() { ActivityIndicatorTool.ExecutarRoda(); //Tirar screenshot. byte[] screenshot = await _screenshotService.TirarScreenshotAsync(); //Guardar screenshot como anexo do email. MimeKit.AttachmentCollection attachments = new MimeKit.AttachmentCollection(); attachments.Add("ScorecardPNG,", screenshot, ContentType.Parse("image/png")); //Enviar Email. try { await _emailService.EnviarEmail(emailDestino : JogadorAEnviarPrint.Email, assunto : "IT4ClubCar Game Results", mensagemConteudo : "Like you asked :)", attachments : attachments); await base.NavigationService.SairDeScorecard(); } catch (SaslException e) { await base.DialogService.MostrarMensagem("Error while sending the email. Please try again later"); } catch (AuthenticationException e) { await base.DialogService.MostrarMensagem("Error while sending the email. Please try again later"); } ActivityIndicatorTool.PararRoda(); }
/// <summary> /// Obtém o tempo atual e guarda os valores na propriedade WeatherAtual. /// </summary> private async Task ObterTempoAtual() { ActivityIndicatorTool.ExecutarRoda(); PrevisoesTempo = await _weatherService.ObterPrevisoesPorNomeCidade("Alcantarilha"); ActivityIndicatorTool.PararRoda(); }
/// <summary> /// Envia um sms ao BuggyBar a pedir a sua presença no buraco indicado pelo utilizador. /// </summary> private async Task EnviarPedido() { ActivityIndicatorTool.ExecutarRoda(); string numeroTelemovelBuggyBar = await _buggyBarService.ObterNumeroTelemovel(); string mensagemAEnviar = "\n Campo : " + Campo.Nome + "\n Buraco : " + BuracoSelecionado.Numero; await _telemovelService.EnviarSMS(numeroTelemovelBuggyBar, mensagemAEnviar); await base.NavigationService.SairDePedirBuggyBar(); ActivityIndicatorTool.PararRoda(); }
/// <summary> /// Obtém todos os campos existentes. /// </summary> private async Task ObterCamposExistentes() { ActivityIndicatorTool.ExecutarRoda(); _camposExistentes = await _campoService.ObterCamposDisponiveis(); if (_camposExistentes.Count.Equals(0)) { return; } //Definir primeiro campo a mostrar os detalhes. IndicadorCampoAtual = 0; ActivityIndicatorTool.PararRoda(); }
/// <summary> /// Executado quando o utilizador clica no botão "Start" após ter configurado o jogo. /// </summary> private async Task ComecarJogo() { ActivityIndicatorTool.ExecutarRoda(); JogoWrapperViewModel novoJogo = null; novoJogo = await ConfigurarJogo(); await base.NavigationService.IrParaJogo(); MediadorMensagensService.Instancia.Avisar(MediadorMensagensService.ViewModelMensagens.NovoJogo, novoJogo); ActivityIndicatorTool.PararRoda(); LimparMemoria(); }