Trabalhando com Itens de Calendário no Exchange Server

Enviando Solicitações de Reunião

Este artigo mostra como enviar uma solicitação de reunião para vários destinatários usando Exchange Web Services e Aspose.Email.

  1. Crie uma solicitação de reunião usando a classe Appointment e defina a localização, horário e participantes.
  2. Crie uma instância da classe MailMessage e defina a nomeação usando o método MailMessage.AddAlternateView().
  3. Conecte-se ao Exchange Server e envie a solicitação de reunião usando o método Send(MailMessage).

A classe EWSClient pode ser usada para conectar-se a um Exchange Server com suporte a Exchange Web Services (EWS). Para que isso funcione, o servidor deve ser o Exchange Server 2007 ou posterior. O seguinte trecho de código mostra como usar EWS para enviar solicitações de reunião.

Trabalhando com Itens de Calendário usando EWS

Aspose.Email fornece a capacidade de adicionar, atualizar e cancelar compromissos usando o cliente Exchange Web Service (EWS). Os métodos IEWSClient CreateAppointment, UpdateAppointment e CancelAppointment permitem manipular itens de calendário usando EWS. Este artigo fornece um exemplo de código detalhado sobre como trabalhar com itens de calendário. O seguinte exemplo de código mostra como:

  1. Criar um compromisso.
  2. Atualizar um compromisso.
  3. Excluir/Cancelar um compromisso.

Listando Compromissos com Suporte a Paginação

O método ListAppointments exposto pela API IEWSClient recupera a lista completa de compromissos do servidor Exchange. Isso pode demorar se houver um grande número de compromissos no Exchange Server. A API fornece métodos sobrecarregados do método ListAppointments que dão suporte à paginação da operação. Isso pode ser usado em diferentes combinações com o recurso de consulta também. Os seguintes métodos sobrecarregados estão disponíveis para listar compromissos do Exchange Server com suporte a paginação.

  • AppointmentCollection IEWSClient.ListAppointments(int itemsPerPage).
  • AppointmentCollection IEWSClient.ListAppointments(string folderUri, int itemsPerPage).
  • AppointmentCollection IEWSClient.ListAppointments(MailQuery query, int itemsPerPage).
  • AppointmentCollection IEWSClient.ListAppointments(string folderUri, MailQuery query, int itemsPerPage).
  • AppointmentCollection IEWSClient.ListAppointments(int itemsPerPage, int itemOffset).
  • AppointmentCollection IEWSClient.ListAppointments(string folderUri, int itemsPerPage, int itemOffset).
  • AppointmentCollection IEWSClient.ListAppointments(MailQuery query, int itemsPerPage, int itemOffset).
  • AppointmentCollection IEWSClient.ListAppointments(string folderUri, MailQuery query, int itemsPerPage, int itemOffset).

O seguinte trecho de código mostra como listar compromissos com suporte a paginação.

Adicionando Evento à Pasta de Calendário Secundária no Exchange Server

A API Aspose.Email permite criar uma pasta de Calendário secundária no Exchange Server usando o IEWSClient. Em seguida, os compromissos podem ser adicionados, atualizados ou cancelados a partir do calendário secundário usando os métodos CreateAppointment, UpdateAppointment e CancelAppointment. Os seguintes métodos e propriedades da API são usados nos exemplos de código abaixo para mostrar a funcionalidade desse recurso. Observe que esse recurso é suportado pelo Aspose.Email para .NET 6.5.0 ou posterior.

  • Método IEWSClient.CancelAppointment(Appointment, String).
  • Método IEWSClient.CancelAppointment(String, String).
  • Método IEWSClient.CreateAppointment(Appointment, String).
  • Método IEWSClient.CreateFolder(String, String, ExchangeFolderPermissionCollection, String).
  • Método IEWSClient.FetchAppointment(String, String).
  • Método IEWSClient.UpdateAppointment(Appointment, String).
  • Propriedade IEWSClient.CurrentCalendarFolderUri.

O seguinte trecho de código mostra como adicionar um evento à pasta de calendário secundária no servidor Exchange.

Compartilhando Convite de Calendário

O servidor Microsoft Exchange fornece a capacidade de compartilhar calendários enviando convites de calendário para outros usuários, registrados no mesmo servidor Exchange. A API Aspose.Email fornece a mesma capacidade, permitindo compartilhar o calendário usando a API EWS.

Recuperando Informações de Atributos Estendidos de Itens de Calendário

Retornando os Itens de Calendário Recorrentes Dentro do Intervalo de Datas Especificado

O EWSClient suporta o retorno dos itens de calendário recorrentes dentro do intervalo especificado por StartDate e EndDate. O método AppointmentQueryBuilder.SetCalendarView é usado para definir um intervalo de datas específico e limitar o número de compromissos retornados para recuperar informações relevantes. Ao definir os seguintes parâmetros, você pode recuperar os compromissos correspondentes aos critérios especificados.

  • startDate: A data de início da visualização do calendário. Compromissos iniciando a partir desta data serão incluídos no resultado da consulta.

  • endDate: A data de término da visualização do calendário. Compromissos terminando antes ou nesta data serão incluídos no resultado da consulta.

  • maxEntriesReturned: O número máximo de compromissos a serem retornados no resultado da consulta. O valor de -1 indica que não há limite específico.

ExchangeQueryBuilder builder = new ExchangeQueryBuilder();
builder.Appointment.SetCalendarView(DateTime.Now, DateTime.Now.AddMonths(1), -1);

Appointment[] appointments = client.ListAppointments(builder.GetQuery());