我正在努力统计通过 EWS 接受 session 邀请的与会者人数。
我可以通过模拟查看组织者 session 并计算 session 所需的与会者人数。
//Determine User to impersonat
string impersonated_email = "user@domain";
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, impersonated_email);
//Bind User Calendar
FolderId UserCalendarId = new FolderId(WellKnownFolderName.Calendar, impersonated_email);
CalendarFolder UserCalendar = CalendarFolder.Bind(service, UserCalendarId);
// Initialize values for the start and end times, and the number of appointments to retrieve.
DateTime startDate = DateTime.Now.AddDays(0);
DateTime endDate = startDate.AddDays(1);
// Execute the search in the calendar folder and return the view
CalendarView userCalendar = new CalendarView(startDate, endDate);
userCalendar.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
FindItemsResults<Appointment> apt = service.FindAppointments(WellKnownFolderName.Calendar, userCalendar);
foreach (Item item in apt.Items)
{
//Console.WriteLine(item.Subject);
ServiceResponseCollection<GetItemResponse> myColl = service.BindToItems(new[] { new ItemId(item.Id.UniqueId) }, userCalendar.PropertySet);
foreach (GetItemResponse temp in myColl)
{
Appointment app = (Appointment)temp.Item;
Int32 Tn = app.RequiredAttendees.Count-1;
Console.WriteLine(app.Subject + " " +Tn);
}
我还想了解有多少必需的与会者已接受 session 邀请。
亲切的问候 克里斯托斯
最佳答案
您应该能够获得如下响应类型:
Appointment app;
int count = app.RequiredAttendees.Count(x => (x.ResponseType.HasValue && x.ResponseType.Value == MeetingResponseType.Accept));
关于c# - 计算已接受 EWS session 的与会者人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21132680/