Question

I am struggling to count the attendees, who accepted the meeting invitation for a meeting over EWS.

I am able to see the organisators meetings through impersonation and count the number of required attendees for the meeting.

        //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);
            }

I would like to also see how many required attendees have accepted the meeting invitation.

Kind Regards Xristos

Was it helpful?

Solution

You can should be able to get the response type like this:

Appointment app;

int count = app.RequiredAttendees.Count(x => (x.ResponseType.HasValue && x.ResponseType.Value == MeetingResponseType.Accept));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top