C# 如何从Exchange EWS获得真正免费的房间

C# 如何从Exchange EWS获得真正免费的房间,c#,exchangewebservices,C#,Exchangewebservices,很抱歉问题的标题不好 我正在尝试从我的exchange服务器获取所有免费房间(不是预订的房间)。问题是,我也得到了我预订的房间,但没有人接受 我想在预订房间后把他们从名单上排除 这是我用来预订房间的代码 ExchangeService service; //...code to new-up and config service var request = new Appointment(service) { Subject = booking.Subject, Start = boo

很抱歉问题的标题不好

我正在尝试从我的exchange服务器获取所有免费房间(不是预订的房间)。问题是,我也得到了我预订的房间,但没有人接受

我想在预订房间后把他们从名单上排除

这是我用来预订房间的代码

ExchangeService service;
//...code to new-up and config service

var request = new Appointment(service)
{
  Subject = booking.Subject,
  Start = booking.Start,
  End = booking.End,
  Location = booking.Room
};

request.RequiredAttendees.Add(booking.Person);
request.RequiredAttendees.Add(booking.Room);

request.Save(SendInvitationsMode.SendOnlyToAll);
注意,我尝试在Save()之后直接调用request.Accept(),但没有“真正预订”房间。在Outlook中按accept是唯一的“修复”。不用说,我已经尝试了我能找到的关于这个问题的一切(我没有定期与Exchange合作)

然后输入代码以获得免费房间

var rooms = service.GetRooms(locationAddress);

// all the meeting rooms at location
var rooms= rooms.Select(i => new AttendeeInfo { SmtpAddress = i.Address, AttendeeType = MeetingAttendeeType.Room });

// Get all availabilites from all rooms at given locations
var availability = service.GetUserAvailability(rooms, timeframe, AvailabilityData.FreeBusy);

foreach (var a in availability.AttendeesAvailability)
{
  // Here we always get all the free rooms
  // including the ones we booked earlier
  // UNTIL somebody clicks accept in Outlook and then it does not appear here!?
}
我看不出在Outlook中接受这些房间之前,它们的标记是不同的,因此我无法区分它们,也无法将它们拉出我不想要的房间

我还真的认为那些房间不应该有空,所以在预订之前我必须在房间上加上一些枚举/勾选/标记,但我完全错过了

编辑


我真的不明白为什么没有AvailabilityData选项。GetUserAvailability方法中枚举中的Free(只有FreeBusy、FreeBusyAndSuggestions和Suggestions,但没有Free only!?)

好吧,这太傻了。。。代码(我继承的)没有包含实际删除占用的房间(忙碌的)的代码。我只是注意到了这个

解决这个问题的代码就是这个

  var busyRoomToRemove = a.CalendarEvents.ToList().Find(x => x.FreeBusyStatus == LegacyFreeBusyStatus.Busy);
  a.CalendarEvents.Remove(busyRoomToRemove); 

很抱歉给您带来不便:-)

我知道这是一个旧版本,但我正在努力解决GetUserAvailability问题,它只返回繁忙的信息。。。我想要一些建议(找房间的人)。有什么线索吗?很抱歉,我已经没有针对EWS的节目了,很遗憾,我没有任何答案给你