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);
            }
            //}
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #4
0
        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;
 }