Clique e receba as novidades quentinhas no Telegram

Calendar-Date

Olá pessoal, tudo bom?

Segue uma dica rápida para que você possa, através de sua APP, consultar compromissos que estejam registrados na agenda do Windows Phone.

Para obter acesso aos agendamentos do usuário será necessário declarar o uso do namespace Microsoft.Phone.UserData, pois é através dele que passaremos a ter acesso à classe Appointments.

A classe Appointments, dentre outras coisas, nos permite reallizar consultas na agenda do Windows Phone e então exibir os compromissos registrados dentro de um determinado período de tempo.

Para nosso exemplo, estou declarando em XAML um DataTemplate que depois será associado a um ListBox. Esse conjunto será o responsável pela exibição dos dados na tela da APP.






 
  
   
   
   
    
    
    
   
   
  
 




 
  
 

 
 




 
 



 
 
 
 




exemplo-agenda

Na sequencia temos a codificação necessária para acesso aos dados da agenda do Windows Phone.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Microsoft.Phone.UserData;

namespace Infoeste2015
{
 public partial class Calendario : PhoneApplicationPage
 {
  public Calendario()
  {
   InitializeComponent();

   //DECLARAÇÃO DE UM OBJETO DA CLASSE APPOINTMENTS PARA RECUPERAÇÃO DOS DADOS DA AGENDA
   Appointments compromissos = new Appointments();
   compromissos.SearchCompleted += compromissos_SearchCompleted;

   //DEFINIÇÃO DA DATA DE INÍCIO E FIM DO PERÍODO DE CONSULTA E TAMBÉM A QUANTIDADE MÁXIMA DE COMPROMISSOS A SEREM RECUPERADOS
   DateTime inicio = new DateTime(2015, 5, 18);
   DateTime final = inicio.AddDays(7);
   int max = 30;

   compromissos.SearchAsync(inicio, final, max, "");
  }

  //ESSE MÉTODOS SERÁ INVOCADO APÓS A FINALIZAÇÃO DA PESQUISA PARA ENTÃO EXIBIRMOS OS DADOS NO LISTBOX
  void compromissos_SearchCompleted(object sender, AppointmentsSearchEventArgs e)
  {
   //OS DADOS CHEGAR ATRAVÉS DO ARGUMENTOS "e" DESTE MÉTODO. REPARE QUE NESSE EXEMPLO ESTAMOS BUSCANDO POR COMPROMISSOS CUJA PALAVRA CHAVE SEJA "INFOESTE".
   lblAgenda.ItemsSource = e.Results.Where(x => x.Subject.Contains("INFOESTE"));
  }
 }
}

Como resultado final podemos verificar a exibição dos compromissos registrados dentro de um determinado período e que contenham a palavra chave “INFOESTE”.

 

Abraços,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Posts Relacionados: 

Fonte: Blog do Eduardo H. Rizo