EWS忙碌的参加者

时间:2014-09-02 10:43:54

标签: exchangewebservices

我正在通过EWS Managed API 2.1对AttendeeAvailability进行查询。

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.
    }
}

此代码无法正常工作,因为我没有在AttendeeAvailability中找到属性Attendee或任何类似属性,其中包含结果所针对的与会者。有没有?如果没有,我如何知道哪些与会者有冲突?

1 个答案:

答案 0 :(得分:1)

结果不包含任何细节(您可以启用跟踪并查看结果)。解决问题的方法是返回的AttendeesAvailability集合中的FreeBusy结果按照您在与会者集合中提交的顺序。所以你只需要输入一些代码来匹配结果,例如

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

干杯 格伦