Independentsoft
Home
Products
Purchase
Support
Downloads
Company
Contact
Exchange Web Services .NET
>
Tutorial
> Get availability
The following example shows you how to find meeting suggestion times for the specified users.
C# example
using System; using System.Net; using Independentsoft.Exchange; namespace Sample { class Program { static void Main(string[] args) { NetworkCredential credential = new NetworkCredential("username", "password"); Service service = new Service("https://myserver/ews/Exchange.asmx", credential); try { MailboxDataCollection mailboxes = new MailboxDataCollection(); mailboxes.Add(new MailboxData("John@mydomain.com")); mailboxes.Add(new MailboxData("Peter@mydomain.com")); mailboxes.Add(new MailboxData("Mark@mydomain.com")); SerializableTimeZone timeZone = new SerializableTimeZone(StandardTimeZone.Berlin); SuggestionsViewOptions suggestionsViewOptions = new SuggestionsViewOptions(DateTime.Today.AddDays(1), DateTime.Today.AddDays(2), 60); AvailabilityResponse response = service.GetAvailability(mailboxes, timeZone, suggestionsViewOptions); if (response.SuggestionsResponse != null) { SuggestionDayCollection suggestionDays = response.SuggestionsResponse.SuggestionDays; for (int i = 0; i < suggestionDays.Count; i++) { Console.WriteLine("Suggestion Day = " + suggestionDays[i].Date); for (int j = 0; j < suggestionDays[i].Suggestions.Count; j++) { Suggestion suggestion = suggestionDays[i].Suggestions[j]; Console.WriteLine("MeetingTime = " + suggestion.MeetingTime); Console.WriteLine("Quality = " + suggestion.Quality); } Console.WriteLine("---------------------------------------------------------"); } } Console.Read(); } catch (ServiceRequestException ex) { Console.WriteLine("Error: " + ex.Message); Console.WriteLine("Error: " + ex.XmlMessage); Console.Read(); } catch (WebException ex) { Console.WriteLine("Error: " + ex.Message); Console.Read(); } } } }
VB example
Imports System Imports System.Net Imports Independentsoft.Exchange Namespace Sample Class Module1 Shared Sub Main(ByVal args As String()) Dim credential As New NetworkCredential("username", "passsword") Dim service As New Service("https://myserver/ews/Exchange.asmx", credential) Try Dim mailboxes As New MailboxDataCollection() mailboxes.Add(New MailboxData("John@mydomain.com")) mailboxes.Add(New MailboxData("Peter@mydomain.com")) mailboxes.Add(New MailboxData("Mark@mydomain.com")) Dim timeZone As New SerializableTimeZone(StandardTimeZone.Berlin) Dim suggestionsViewOptions As New SuggestionsViewOptions(DateTime.Today.AddDays(1), DateTime.Today.AddDays(2), 60) Dim response As AvailabilityResponse = service.GetAvailability(mailboxes, timeZone, suggestionsViewOptions) If response.SuggestionsResponse IsNot Nothing Then Dim suggestionDays As SuggestionDayCollection = response.SuggestionsResponse.SuggestionDays For i As Integer = 0 To suggestionDays.Count - 1 Console.WriteLine("Suggestion Day = " & suggestionDays(i).Date) For j As Integer = 0 To suggestionDays(i).Suggestions.Count - 1 Dim suggestion As Suggestion = suggestionDays(i).Suggestions(j) Console.WriteLine("MeetingTime = " & suggestion.MeetingTime) Console.WriteLine("Quality = " & suggestion.Quality.ToString()) Next Console.WriteLine("---------------------------------------------------------") Next End If Console.Read() Catch ex As ServiceRequestException Console.WriteLine("Error: " + ex.Message) Console.WriteLine("Error: " + ex.XmlMessage) Console.Read() Catch ex As WebException Console.WriteLine("Error: " + ex.Message) Console.Read() End Try End Sub End Class End Namespace