public static void debugPrintFreeBusyCalendar(FreeBusyResponse fbresponse) { //List<KeyValuePair<string, FreeBusyCalendar>> freeBusyCalendars = fbresponse.Calendars.ToList().IndexOf("*****@*****.**"); FreeBusyCalendar freeBusyCalendar = fbresponse.Calendars.ToList().First().Value; /*foreach (KeyValuePair<string, FreeBusyCalendar> a in freeBusyCalendars) {*/ foreach (TimePeriod t in freeBusyCalendar.Busy) { Console.WriteLine("Start: " + t.Start + " , End: " + t.End); } //} }
static void SendRequests(string[] accounts) { accounts.ToList().ForEach(account => { Person person = new Person(); FreeBusyResponse results = LoadRequest(account); //Default case person.AvailableFrom = AVAILABLE_FROM; person.AvailableTo = AVAILABLE_TO; LoadMeetings(person, results); }); //Default case _minLength = MINIMUM_LENGTH_OF_MEETING; }
public override void EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, IService service, IAsyncResult asyncResult) { GetUserAvailabilityResponse getUserAvailabilityResponse = service.EndGetUserAvailability(asyncResult); FreeBusyResponse[] array = null; if (getUserAvailabilityResponse != null) { array = getUserAvailabilityResponse.FreeBusyResponseArray; } if (array == null) { Application.ProxyWebRequestTracer.TraceError((long)proxyWebRequest.GetHashCode(), "{0}: Proxy web request returned NULL FreeBusyResponseArray.", new object[] { TraceContext.Get() }); } for (int i = 0; i < queryList.Count; i++) { FreeBusyQuery freeBusyQuery = (FreeBusyQuery)queryList[i]; FreeBusyResponse freeBusyResponse = null; if (array != null && i < array.Length) { freeBusyResponse = array[i]; if (freeBusyResponse == null) { Application.ProxyWebRequestTracer.TraceDebug <object, EmailAddress>((long)proxyWebRequest.GetHashCode(), "{0}: Proxy web request returned NULL FreeBusyResponse for mailbox {1}.", TraceContext.Get(), freeBusyQuery.Email); } } FreeBusyQueryResult resultOnFirstCall; if (freeBusyResponse == null) { resultOnFirstCall = new FreeBusyQueryResult(new ProxyNoResultException(Strings.descProxyNoResultError(freeBusyQuery.Email.Address, service.Url), 60732U)); } else { resultOnFirstCall = FreeBusyApplication.CopyViewAndResponseToResult(service.Url, freeBusyResponse.FreeBusyView, freeBusyResponse.ResponseMessage, freeBusyQuery.Email); } freeBusyQuery.SetResultOnFirstCall(resultOnFirstCall); } }
static void LoadMeetings(Person person, FreeBusyResponse results) { foreach (var calendar in results.Calendars) { calendar.Value.Busy.ToList().ForEach(value => { DateTime start = (DateTime)value.Start; DateTime end = (DateTime)value.End; //Function??? int startTime = (start.Hour * 60) + start.Minute; int endTime = (end.Hour * 60) + end.Minute; person.Meetings.Add(new TimeSlot(startTime, endTime)); }); } if (person.Meetings.Count > 0) { _people.Add(person); } }
public static FreeBusyCalendar getFreeBusyCalendarFromResponse(FreeBusyResponse fbresponse) { return fbresponse.Calendars.ToList().First().Value; }