2014-09-02 1 views
0

Я делаю запрос для AttendeeAvailability через EWS Managed API 2.1.EWS busytime attendee

var freeBusyResults = service.GetUserAvailability(
    attendees, 
    time, 
    AvailabilityData.FreeBusy, 
    new AvailabilityOptions() 
); 
foreach (AttendeeAvailability avail in freeBusyResults.AttendeesAvailability) { 
    foreach (var ce in avail.CalendarEvents) { 
     if(ce.StartTime < time.EndTime || ce.EndTime > time.StartTime) 
      list.Add(avail.Attendee); //Attendee has conflicting entry. 
    } 
} 

Этот код не будет работать, потому что я не нашел Attendee собственность или аналогичную недвижимость в AttendeeAvailability, который содержал бы, который об участниках результат для. Есть ли? Если нет, то как я узнаю, у какого участника (участников) есть конфликт?

ответ

1

Результаты не содержат никакой детали (вы можете включить отслеживание и посмотреть результаты). Способ его работы - это результаты FreeBusy в коллекции AttendeesAvailability, которая возвращается, в том порядке, в котором вы отправили их в коллекции участников. Так что вам просто нужно поместить код в соответствии с результатами Е.Г.

 Int32 AtnCnt = 0; 
     foreach (AttendeeAvailability avail in freeBusyResults.AttendeesAvailability) 
     { 
      AttendeeInfo CurrentAttendee = attendees[AtnCnt];    
      foreach (var ce in avail.CalendarEvents) 
      { 
       Console.WriteLine(CurrentAttendee.SmtpAddress); 
      } 
      AtnCnt++; 
     } 

Приветствия Глен