Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算已接受EWS会议的与会者人数_C#_Exchange Server_Exchangewebservices - Fatal编程技术网

C# 计算已接受EWS会议的与会者人数

C# 计算已接受EWS会议的与会者人数,c#,exchange-server,exchangewebservices,C#,Exchange Server,Exchangewebservices,我正在努力统计接受EWS会议邀请的与会者人数 我能够通过模拟看到组织者的会议,并计算会议所需的与会者人数 //Determine User to impersonat string impersonated_email = "user@domain"; service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, impersonated_emai

我正在努力统计接受EWS会议邀请的与会者人数

我能够通过模拟看到组织者的会议,并计算会议所需的与会者人数

        //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);
            }
//确定要模拟的用户
字符串模拟电子邮件=”user@domain";
service.ImpersonatedUserId=新的ImpersonatedUserId(ConnectingIdType.SmtpAddress,模拟电子邮件);
//绑定用户日历
FolderId UserCalendarId=新的FolderId(WellKnownFolderName.Calendar,模拟电子邮件);
CalendarFolder UserCalendar=CalendarFolder.Bind(服务,UserCalendarId);
//初始化开始和结束时间以及要检索的约会数的值。
DateTime startDate=DateTime.Now.AddDays(0);
DateTime endDate=startDate.AddDays(1);
//在日历文件夹中执行搜索并返回视图
CalendarView userCalendar=新日历视图(开始日期、结束日期);
userCalendar.PropertySet=新的PropertySet(BasePropertySet.FirstClassProperties);
FindItemsResults apt=service.findAppoints(WellKnownFolderName.Calendar、userCalendar);
foreach(apt.Items中的项目)
{
//Console.WriteLine(项目主题);
ServiceResponseCollection myColl=service.BindToItems(new[]{new ItemId(item.Id.UniqueId)},userCalendar.PropertySet);
foreach(myColl中的GetItemResponse温度)
{
约会应用=(约会)临时项目;
Int32 Tn=app.requiredAttenders.Count-1;
Console.WriteLine(app.Subject+“”+Tn);
}
我还想看看有多少必要的与会者接受了会议邀请

问候
Xristos

您应该能够获得如下响应类型:

Appointment app;

int count = app.RequiredAttendees.Count(x => (x.ResponseType.HasValue && x.ResponseType.Value == MeetingResponseType.Accept));