2013-05-08 2 views
2

EWS Managed API 2.0을 사용하고 있습니다.EWS Managed API : 응답 확인

Appointment appointment = new Appointment(service); 

//Set properties on the appointment. 
appointment.Subject = "Dentist Appointment"; 
appointment.Body = "The appointment is with Dr. Smith."; 
appointment.Start = new DateTime(2009, 3, 1, 9, 0, 0); 
appointment.End = appointment.Start.AddHours(2); 

//Save the appointment. 
appointment.Save(SendInvitationsMode.SendToNone); 

을 어떻게 API가 예약 상태를 확인하고는 날짜 충돌로 인해 예약 여부되었는지 여부를 사용하여 수 (성공 : 나는 다음과 같이 약속을 예약 할 수 위치를 일정 부분을 사용하고 있습니다/오류/충돌)? 지금은 전망을 통해이를 확인할 수 있지만이 정보는 API에서 알고 싶습니다. API 문서를 살펴본 결과 아무 것도 찾을 수 없었습니다.

도움/안내에 감사드립니다.

+0

왜 50 점이 길어졌지만 답변이없는 이유는 무엇입니까? (나는 나의 것을 삭제하고 그의 것을 upvoted.) –

답변

2

약속을 저장하기 전에 먼저 모든 참석자의 참석 가능 여부를 확인해야합니다. AvailabilityDataResult (ServiceResult.Success, ServiceResult.Warning 또는 ServiceResult.Error)을 반환하고 ErrorMessage 속성을 검사하여 충돌하는 각 가용성에 대해 적절한 반환 메시지를 찾을 수 있습니다. 참석자에 대해 가용성이 충돌하지 않으면 Appointment 개체를 저장할 수 있습니다.

AvailabilityOptions availabilityOptions = new AvailabilityOptions(); 
availabilityOptions.MeetingDuration = 60; 
availabilityOptions.MaximumNonWorkHoursSuggestionsPerDay = 4; 
availabilityOptions.MinimumSuggestionQuality = SuggestionQuality.Good; 
availabilityOptions.RequestedFreeBusyView = FreeBusyViewType.FreeBusy; 

List<AttendeeInfo> attendees = new List<AttendeeInfo>(); 
attendees.Add(
    new AttendeeInfo() 
    { 
     SmtpAddress = "[email protected]", 
     AttendeeType = MeetingAttendeeType.Organizer 
    }); 

attendees.Add(
    new AttendeeInfo() 
    { 
     SmtpAddress = "[email protected]", 
     AttendeeType = MeetingAttendeeType.Required 
    }); 

attendees.Add(
    new AttendeeInfo() 
    { 
     SmtpAddress = "[email protected]", 
     AttendeeType = MeetingAttendeeType.Room 
    }); 

GetUserAvailabilityResults availabilityResults = 
     service.GetUserAvailability(
      attendees, 
      new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1)), 
      AvailabilityData.FreeBusyAndSuggestions, 
      availabilityOptions 
     ); 

// Here check the availability Result and ErrorMessage of each attendees 
// availabilityResults.AttendeesAvailability[0].Result 
// availabilityResults.AttendeesAvailability[0].ErrorMessage 
// ServiceResult.Success 
// ServiceResult.Warning 
// ServiceResult.Error 
+0

고맙다. 그것은 매우 도움이되었다. 하지만 제가 알아 내도록 도와 주시면 감사하겠습니다. AvailabilityData & availabilityOptions 사이의 링크는 무엇입니까? AvailbilityData는 내가 availabilityOptions에 넣은 회의 시간에 대한 응답을 제공하지 않습니다. 그것은 저에게 방의 모든 CalendarEvents의 목록을 제공하고 있습니다. 그리고 충돌이 있는지보기 위해 1을 1 씩 통과해야합니다. 거기에는 내가 availabilityOptions에서 선택한 모임 시간이 내가 attendeesInfo에 넣은 방과 충돌하는지 여부를 알려주는 하나의 메서드/매개 변수가 있습니까? – Morano88

관련 문제