/// <summary> /// Create a default calendar object in the current login user calendar folder /// </summary> /// <param name="subject">The calendar subject</param> /// <param name="organizerEmailAddress">The organizer email address</param> /// <param name="attendeeEmailAddress">The attendee email address</param> /// <param name="calendarUID">The uid of calendar</param> /// <param name="timestamp">The DtStamp of calendar</param> /// <param name="startTime">The StartTime of calendar</param> /// <param name="endTime">The EndTime of calendar</param> /// <returns>Returns the Calendar instance</returns> protected Calendar CreateDefaultCalendar( string subject, string organizerEmailAddress, string attendeeEmailAddress, string calendarUID, DateTime?timestamp, DateTime?startTime, DateTime?endTime) { #region Configure the default calendar application data Request.SyncCollectionAdd syncAddCollection = new Request.SyncCollectionAdd(); string clientId = TestSuiteHelper.GetClientId(); syncAddCollection.ClientId = clientId; syncAddCollection.ApplicationData = new Request.SyncCollectionAddApplicationData(); List <object> items = new List <object>(); List <Request.ItemsChoiceType8> itemsElementName = new List <Request.ItemsChoiceType8>(); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("12.1")) { items.Add(true); itemsElementName.Add(Request.ItemsChoiceType8.ResponseRequested); } #region TIME/Subject/Location/UID items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == startTime ? DateTime.UtcNow.AddDays(5) : startTime.Value)); itemsElementName.Add(Request.ItemsChoiceType8.StartTime); items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == endTime ? DateTime.UtcNow.AddDays(5).AddMinutes(30) : endTime.Value)); itemsElementName.Add(Request.ItemsChoiceType8.EndTime); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0") && !Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.1")) { items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == timestamp ? DateTime.UtcNow.AddDays(5) : timestamp.Value)); itemsElementName.Add(Request.ItemsChoiceType8.DtStamp); } items.Add(subject); itemsElementName.Add(Request.ItemsChoiceType8.Subject); items.Add(calendarUID ?? Guid.NewGuid().ToString()); if (Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0") || Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.1")) { itemsElementName.Add(Request.ItemsChoiceType8.ClientUid); } else { itemsElementName.Add(Request.ItemsChoiceType8.UID); } if (Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0") || Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.1")) { Request.Location location = new Request.Location(); location.DisplayName = "OFFICE"; items.Add(location); itemsElementName.Add(Request.ItemsChoiceType8.Location); } else { items.Add("OFFICE"); itemsElementName.Add(Request.ItemsChoiceType8.Location1); } #endregion #region Attendee/Organizer Request.AttendeesAttendee attendee = new Request.AttendeesAttendee { Email = attendeeEmailAddress, Name = new MailAddress(attendeeEmailAddress).User, AttendeeStatus = 0x0, AttendeeTypeSpecified = true, AttendeeType = 0x1 }; // 0x0 = Response unknown // 0x1 = Required items.Add(new Request.Attendees() { Attendee = new Request.AttendeesAttendee[] { attendee } }); itemsElementName.Add(Request.ItemsChoiceType8.Attendees); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0") && !Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.1")) { items.Add(organizerEmailAddress); itemsElementName.Add(Request.ItemsChoiceType8.OrganizerEmail); items.Add(new MailAddress(organizerEmailAddress).DisplayName); itemsElementName.Add(Request.ItemsChoiceType8.OrganizerName); } #endregion #region Sensitivity/BusyStatus/AllDayEvent // 0x0 == Normal items.Add((byte)0x0); itemsElementName.Add(Request.ItemsChoiceType8.Sensitivity); // 0x1 == Tentative items.Add((byte)0x1); itemsElementName.Add(Request.ItemsChoiceType8.BusyStatus); // 0x0 not an all-day event items.Add((byte)0x0); itemsElementName.Add(Request.ItemsChoiceType8.AllDayEvent); #endregion syncAddCollection.ApplicationData.Items = items.ToArray(); syncAddCollection.ApplicationData.ItemsElementName = itemsElementName.ToArray(); #endregion #region Execute the Sync command to upload the calendar SyncStore initSyncResponse = this.InitializeSync(this.User1Information.CalendarCollectionId); SyncRequest uploadCalendarRequest = TestSuiteHelper.CreateSyncAddRequest(initSyncResponse.SyncKey, this.User1Information.CalendarCollectionId, syncAddCollection); this.EMAILAdapter.Sync(uploadCalendarRequest); #endregion #region Get the new added calendar item SyncStore getItemResponse = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null); Sync calendarItem = TestSuiteHelper.GetSyncAddItem(getItemResponse, subject); Site.Assert.IsNotNull(calendarItem, "The item with subject {0} should be found in the folder {1}.", subject, FolderType.Calendar.ToString()); #endregion return(calendarItem.Calendar); }
/// <summary> /// Create a default calendar object in the current login user calendar folder /// </summary> /// <param name="subject">The calendar subject</param> /// <param name="organizerEmailAddress">The organizer email address</param> /// <param name="attendeeEmailAddress">The attendee email address</param> /// <param name="calendarUID">The uid of calendar</param> /// <param name="timestamp">The DtStamp of calendar</param> /// <param name="startTime">The StartTime of calendar</param> /// <param name="endTime">The EndTime of calendar</param> /// <returns>Returns the Calendar instance</returns> protected Calendar CreateDefaultCalendar( string subject, string organizerEmailAddress, string attendeeEmailAddress, string calendarUID, DateTime? timestamp, DateTime? startTime, DateTime? endTime) { #region Configure the default calendar application data Request.SyncCollectionAdd syncAddCollection = new Request.SyncCollectionAdd(); string clientId = TestSuiteHelper.GetClientId(); syncAddCollection.ClientId = clientId; syncAddCollection.ApplicationData = new Request.SyncCollectionAddApplicationData(); List<object> items = new List<object>(); List<Request.ItemsChoiceType8> itemsElementName = new List<Request.ItemsChoiceType8>(); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("12.1")) { items.Add(true); itemsElementName.Add(Request.ItemsChoiceType8.ResponseRequested); } #region TIME/Subject/Location/UID items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == startTime ? DateTime.UtcNow.AddDays(5) : startTime.Value)); itemsElementName.Add(Request.ItemsChoiceType8.StartTime); items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == endTime ? DateTime.UtcNow.AddDays(5).AddMinutes(30) : endTime.Value)); itemsElementName.Add(Request.ItemsChoiceType8.EndTime); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0")) { items.Add(string.Format("{0:yyyyMMddTHHmmss}Z", null == timestamp ? DateTime.UtcNow.AddDays(5) : timestamp.Value)); itemsElementName.Add(Request.ItemsChoiceType8.DtStamp); } items.Add(subject); itemsElementName.Add(Request.ItemsChoiceType8.Subject); items.Add(calendarUID ?? Guid.NewGuid().ToString()); if (Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0")) { itemsElementName.Add(Request.ItemsChoiceType8.ClientUid); } else { itemsElementName.Add(Request.ItemsChoiceType8.UID); } if (Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0")) { Request.Location location = new Request.Location(); location.DisplayName = "OFFICE"; items.Add(location); itemsElementName.Add(Request.ItemsChoiceType8.Location1); } else { items.Add("OFFICE"); itemsElementName.Add(Request.ItemsChoiceType8.Location); } #endregion #region Attendee/Organizer Request.AttendeesAttendee attendee = new Request.AttendeesAttendee { Email = attendeeEmailAddress, Name = new MailAddress(attendeeEmailAddress).User, AttendeeStatus = 0x0, AttendeeTypeSpecified = true, AttendeeType = 0x1 }; // 0x0 = Response unknown // 0x1 = Required items.Add(new Request.Attendees() { Attendee = new Request.AttendeesAttendee[] { attendee } }); itemsElementName.Add(Request.ItemsChoiceType8.Attendees); if (!Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site).Equals("16.0")) { items.Add(organizerEmailAddress); itemsElementName.Add(Request.ItemsChoiceType8.OrganizerEmail); items.Add(new MailAddress(organizerEmailAddress).DisplayName); itemsElementName.Add(Request.ItemsChoiceType8.OrganizerName); } #endregion #region Sensitivity/BusyStatus/AllDayEvent // 0x0 == Normal items.Add((byte)0x0); itemsElementName.Add(Request.ItemsChoiceType8.Sensitivity); // 0x1 == Tentative items.Add((byte)0x1); itemsElementName.Add(Request.ItemsChoiceType8.BusyStatus); // 0x0 not an all-day event items.Add((byte)0x0); itemsElementName.Add(Request.ItemsChoiceType8.AllDayEvent); #endregion syncAddCollection.ApplicationData.Items = items.ToArray(); syncAddCollection.ApplicationData.ItemsElementName = itemsElementName.ToArray(); #endregion #region Execute the Sync command to upload the calendar SyncStore initSyncResponse = this.InitializeSync(this.User1Information.CalendarCollectionId); SyncRequest uploadCalendarRequest = TestSuiteHelper.CreateSyncAddRequest(initSyncResponse.SyncKey, this.User1Information.CalendarCollectionId, syncAddCollection); this.EMAILAdapter.Sync(uploadCalendarRequest); #endregion #region Get the new added calendar item SyncStore getItemResponse = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null); Sync calendarItem = TestSuiteHelper.GetSyncAddItem(getItemResponse, subject); Site.Assert.IsNotNull(calendarItem, "The item with subject {0} should be found in the folder {1}.", subject, FolderType.Calendar.ToString()); #endregion return calendarItem.Calendar; }
public void MSASAIRS_S05_TC01_Location() { Site.Assume.AreNotEqual <string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual <string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual <string>("14.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); #region Call Sync command with Add element to add an appointment to the server Request.SyncCollectionAddApplicationData applicationData = new Request.SyncCollectionAddApplicationData(); List <object> items = new List <object>(); List <Request.ItemsChoiceType8> itemsElementName = new List <Request.ItemsChoiceType8>(); string subject = Common.GenerateResourceName(Site, "Subject"); items.Add(subject); itemsElementName.Add(Request.ItemsChoiceType8.Subject); // MeetingStauts is set to 0, which means it is an appointment with no attendees. byte meetingStatus = 0; items.Add(meetingStatus); itemsElementName.Add(Request.ItemsChoiceType8.MeetingStatus); Request.Location location = new Request.Location(); location.Accuracy = (double)1; location.AccuracySpecified = true; location.Altitude = (double)55.46; location.AltitudeAccuracy = (double)1; location.AltitudeAccuracySpecified = true; location.AltitudeSpecified = true; location.Annotation = "Location sample annotation"; location.City = "Location sample city"; location.Country = "Location sample country"; location.DisplayName = "Location sample dislay name"; location.Latitude = (double)11.56; location.LatitudeSpecified = true; location.LocationUri = "Location Uri"; location.Longitude = (double)1.9; location.LongitudeSpecified = true; location.PostalCode = "Location sample postal code"; location.State = "Location sample state"; location.Street = "Location sample street"; items.Add(location); itemsElementName.Add(Request.ItemsChoiceType8.Location1); applicationData.Items = items.ToArray(); applicationData.ItemsElementName = itemsElementName.ToArray(); SyncRequest syncAddRequest = TestSuiteHelper.CreateSyncAddRequest(this.GetInitialSyncKey(this.User1Information.CalendarCollectionId), this.User1Information.CalendarCollectionId, applicationData); DataStructures.SyncStore syncAddResponse = this.ASAIRSAdapter.Sync(syncAddRequest); Site.Assert.IsTrue(syncAddResponse.AddResponses[0].Status.Equals("1"), "The sync add operation should be success; It is:{0} actually", syncAddResponse.AddResponses[0].Status); // Add the appointment to clean up list. this.RecordCaseRelativeItems(this.User1Information.UserName, this.User1Information.CalendarCollectionId, subject); #endregion #region Call Sync command to get the new added calendar item. DataStructures.Sync syncItem = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion #region Call ItemOperations command to reterive the added calendar item. this.GetItemOperationsResult(this.User1Information.CalendarCollectionId, syncItem.ServerId, null, null, null, null); #endregion #region Call Search command to search the added calendar item. this.GetSearchResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion }
public void MSASAIRS_S05_TC01_Location() { Site.Assume.AreNotEqual<string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual<string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual<string>("14.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); #region Call Sync command with Add element to add an appointment to the server Request.SyncCollectionAddApplicationData applicationData = new Request.SyncCollectionAddApplicationData(); List<object> items = new List<object>(); List<Request.ItemsChoiceType8> itemsElementName = new List<Request.ItemsChoiceType8>(); string subject = Common.GenerateResourceName(Site, "Subject"); items.Add(subject); itemsElementName.Add(Request.ItemsChoiceType8.Subject); // MeetingStauts is set to 0, which means it is an appointment with no attendees. byte meetingStatus = 0; items.Add(meetingStatus); itemsElementName.Add(Request.ItemsChoiceType8.MeetingStatus); Request.Location location = new Request.Location(); location.Accuracy = (double)1; location.AccuracySpecified = true; location.Altitude = (double)55.46; location.AltitudeAccuracy = (double)1; location.AltitudeAccuracySpecified = true; location.AltitudeSpecified = true; location.Annotation = "Location sample annotation"; location.City = "Location sample city"; location.Country = "Location sample country"; location.DisplayName = "Location sample dislay name"; location.Latitude = (double)11.56; location.LatitudeSpecified = true; location.LocationUri = "Location Uri"; location.Longitude = (double)1.9; location.LongitudeSpecified = true; location.PostalCode = "Location sample postal code"; location.State = "Location sample state"; location.Street = "Location sample street"; items.Add(location); itemsElementName.Add(Request.ItemsChoiceType8.Location1); applicationData.Items = items.ToArray(); applicationData.ItemsElementName = itemsElementName.ToArray(); SyncRequest syncAddRequest = TestSuiteHelper.CreateSyncAddRequest(this.GetInitialSyncKey(this.User1Information.CalendarCollectionId), this.User1Information.CalendarCollectionId, applicationData); DataStructures.SyncStore syncAddResponse = this.ASAIRSAdapter.Sync(syncAddRequest); Site.Assert.IsTrue(syncAddResponse.AddResponses[0].Status.Equals("1"), "The sync add operation should be success; It is:{0} actually", syncAddResponse.AddResponses[0].Status); // Add the appointment to clean up list. this.RecordCaseRelativeItems(this.User1Information.UserName, this.User1Information.CalendarCollectionId, subject); #endregion #region Call Sync command to get the new added calendar item. DataStructures.Sync syncItem = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion #region Call ItemOperations command to reterive the added calendar item. this.GetItemOperationsResult(this.User1Information.CalendarCollectionId, syncItem.ServerId, null, null, null, null); #endregion #region Call Search command to search the added calendar item. this.GetSearchResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion }
public void MSASAIRS_S05_TC01_Location() { Site.Assume.AreNotEqual <string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual <string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual <string>("14.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Location element is supported when the MS-ASProtocolVersion header is set to 16.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); #region Call Sync command with Add element to add an appointment to the server Request.SyncCollectionAddApplicationData applicationData = new Request.SyncCollectionAddApplicationData(); List <object> items = new List <object>(); List <Request.ItemsChoiceType8> itemsElementName = new List <Request.ItemsChoiceType8>(); string subject = Common.GenerateResourceName(Site, "Subject"); items.Add(subject); itemsElementName.Add(Request.ItemsChoiceType8.Subject); // MeetingStauts is set to 0, which means it is an appointment with no attendees. byte meetingStatus = 0; items.Add(meetingStatus); itemsElementName.Add(Request.ItemsChoiceType8.MeetingStatus); Request.Location location = new Request.Location(); location.Accuracy = (double)1; location.AccuracySpecified = true; location.Altitude = (double)55.46; location.AltitudeAccuracy = (double)1; location.AltitudeAccuracySpecified = true; location.AltitudeSpecified = true; location.Annotation = "Location sample annotation"; location.City = "Location sample city"; location.Country = "Location sample country"; location.DisplayName = "Location sample dislay name"; location.Latitude = (double)11.56; location.LatitudeSpecified = true; location.LocationUri = "Location Uri"; location.Longitude = (double)1.9; location.LongitudeSpecified = true; location.PostalCode = "Location sample postal code"; location.State = "Location sample state"; location.Street = "Location sample street"; items.Add(location); itemsElementName.Add(Request.ItemsChoiceType8.Location); applicationData.Items = items.ToArray(); applicationData.ItemsElementName = itemsElementName.ToArray(); SyncRequest syncAddRequest = TestSuiteHelper.CreateSyncAddRequest(this.GetInitialSyncKey(this.User1Information.CalendarCollectionId), this.User1Information.CalendarCollectionId, applicationData); DataStructures.SyncStore syncAddResponse = this.ASAIRSAdapter.Sync(syncAddRequest); Site.Assert.IsTrue(syncAddResponse.AddResponses[0].Status.Equals("1"), "The sync add operation should be success; It is:{0} actually", syncAddResponse.AddResponses[0].Status); // Add the appointment to clean up list. this.RecordCaseRelativeItems(this.User1Information.UserName, this.User1Information.CalendarCollectionId, subject); #endregion #region Call Sync command to get the new added calendar item. DataStructures.Sync syncItem = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion #region Call ItemOperations command to reterive the added calendar item. this.GetItemOperationsResult(this.User1Information.CalendarCollectionId, syncItem.ServerId, null, null, null, null); #endregion #region Call Sync command to remove the location of the added calender item. // Create empty change items list. List <object> changeItems = new List <object>(); List <Request.ItemsChoiceType7> changeItemsElementName = new List <Request.ItemsChoiceType7>(); // Create an empty location. location = new Request.Location(); // Add the location field name into the change items element name list. changeItemsElementName.Add(Request.ItemsChoiceType7.Location); // Add the empty location value to the change items value list. changeItems.Add(location); // Create sync collection change. Request.SyncCollectionChange collectionChange = new Request.SyncCollectionChange { ServerId = syncItem.ServerId, ApplicationData = new Request.SyncCollectionChangeApplicationData { ItemsElementName = changeItemsElementName.ToArray(), Items = changeItems.ToArray() } }; // Create change sync collection Request.SyncCollection collection = new Request.SyncCollection { SyncKey = this.SyncKey, CollectionId = this.User1Information.CalendarCollectionId, Commands = new object[] { collectionChange } }; // Create change sync request. SyncRequest syncChangeRequest = Common.CreateSyncRequest(new Request.SyncCollection[] { collection }); // Change the location of the added calender by Sync request. DataStructures.SyncStore syncChangeResponse = this.ASAIRSAdapter.Sync(syncChangeRequest); Site.Assert.IsTrue(syncChangeResponse.CollectionStatus.Equals(1), "The sync change operation should be success; It is:{0} actually", syncChangeResponse.CollectionStatus); #region Call Sync command to get the new changed calendar item that removed the location. syncItem = this.GetSyncResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion #region Call ItemOperations command to reterive the changed calendar item that removed the location. DataStructures.ItemOperations itemOperations = this.GetItemOperationsResult(this.User1Information.CalendarCollectionId, syncItem.ServerId, null, null, null, null); #endregion // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASAIRS_R1001013"); // Verify MS-ASAIRS requirement: MS-ASAIRS_R1001013 Site.CaptureRequirementIfIsNull( itemOperations.Calendar.Location1.DisplayName, 1001013, @"[In Location] The client's request can include an empty Location element to remove the location from an item."); #endregion if (Common.IsRequirementEnabled(53, this.Site)) { #region Call Search command to search the added calendar item. this.GetSearchResult(subject, this.User1Information.CalendarCollectionId, null, null, null); #endregion } }
public void MSASCAL_S01_TC01_AllDayEvent() { #region Generate calendar subject and record them. Dictionary<Request.ItemsChoiceType8, object> calendarItem = new Dictionary<Request.ItemsChoiceType8, object>(); string subjectWithAllDayEvent0 = Common.GenerateResourceName(Site, "subjectWithAllDayEvent0"); string subjectWithAllDayEvent1 = Common.GenerateResourceName(Site, "subjectWithAllDayEvent1"); #endregion #region Call Sync command to add a calendar with the element AllDayEvent setting as '0' to the server, and sync calendars from the server. calendarItem.Add(Request.ItemsChoiceType8.Subject, subjectWithAllDayEvent0); calendarItem.Add(Request.ItemsChoiceType8.AllDayEvent, byte.Parse("0")); if (!this.IsActiveSyncProtocolVersion121 && !this.IsActiveSyncProtocolVersion140 && !this.IsActiveSyncProtocolVersion141) { Request.Location location = new Request.Location(); location.DisplayName = this.Location; calendarItem.Add(Request.ItemsChoiceType8.Location1, location); } this.AddSyncCalendar(calendarItem); SyncItem calendarWithAllDayEvent0 = this.GetChangeItem(this.User1Information.CalendarCollectionId, subjectWithAllDayEvent0); Site.Assert.IsNotNull(calendarWithAllDayEvent0.Calendar, "The calendar with subject {0} should exist in server.", subjectWithAllDayEvent0); this.RecordCaseRelativeItems(this.User1Information.UserName, this.User1Information.CalendarCollectionId, subjectWithAllDayEvent0); #endregion Site.Assert.IsNotNull(calendarWithAllDayEvent0.Calendar.AllDayEvent, "The AllDayEvent element should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCAL_R85"); // Verify MS-ASCAL requirement: MS-ASCAL_R85 Site.CaptureRequirementIfAreEqual<byte>( 0, calendarWithAllDayEvent0.Calendar.AllDayEvent.Value, 85, @"[In AllDayEvent][The value 0 means AllDayEvent] Is not an all day event."); if (this.IsActiveSyncProtocolVersion121 || this.IsActiveSyncProtocolVersion140 || this.IsActiveSyncProtocolVersion141) { #region Call Sync command to add a calendar with the element AllDayEvent setting as '1' and the StartTime and EndTime elements as midnight to midnight values to the server, and sync calendars from the server. calendarItem.Clear(); calendarItem.Add(Request.ItemsChoiceType8.Subject, subjectWithAllDayEvent1); calendarItem.Add(Request.ItemsChoiceType8.AllDayEvent, byte.Parse("1")); calendarItem.Add(Request.ItemsChoiceType8.StartTime, this.StartTime.ToString("yyyyMMddTHHmmssZ")); calendarItem.Add(Request.ItemsChoiceType8.EndTime, this.StartTime.AddDays(1).ToString("yyyyMMddTHHmmssZ")); this.AddSyncCalendar(calendarItem); SyncItem calendarWithAllDayEvent1 = this.GetChangeItem(this.User1Information.CalendarCollectionId, subjectWithAllDayEvent1); Site.Assert.IsNotNull(calendarWithAllDayEvent1.Calendar, "The calendar with subject {0} should exist in server.", subjectWithAllDayEvent1); this.RecordCaseRelativeItems(this.User1Information.UserName, this.User1Information.CalendarCollectionId, subjectWithAllDayEvent1); #endregion Site.Assert.IsNotNull(calendarWithAllDayEvent1.Calendar.AllDayEvent, "The AllDayEvent element should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCAL_R86"); // Verify MS-ASCAL requirement: MS-ASCAL_R86 Site.CaptureRequirementIfAreEqual<byte>( 1, calendarWithAllDayEvent1.Calendar.AllDayEvent.Value, 86, @"[In AllDayEvent][The value 1 means AllDayEvent] Is an all day event."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCAL_R7911"); // Verify MS-ASCAL requirement: MS-ASCAL_R7911 Site.CaptureRequirementIfAreEqual<byte>( 1, calendarWithAllDayEvent1.Calendar.AllDayEvent.Value, 7911, @"[In AllDayEvent] The AllDayEvent element specifies whether the event represented by the calendar item runs for the entire day."); } }