Microsoft.Protocols.TestSuites.MS_OXWSCORE.S01_ManageBaseItems.MSOXWSCORE_S01_TC34_DateTimeCreatedIsReadOnly C# (CSharp) Method

MSOXWSCORE_S01_TC34_DateTimeCreatedIsReadOnly() private method

private MSOXWSCORE_S01_TC34_DateTimeCreatedIsReadOnly ( ) : void
return void
        public void MSOXWSCORE_S01_TC34_DateTimeCreatedIsReadOnly()
        {
            #region Create an item with setting DateTimeCreated
            ItemType[] createdItems = new ItemType[] { new ItemType() };
            createdItems[0].Subject = Common.GenerateResourceName(
                this.Site,
                TestSuiteHelper.SubjectForCreateItem);
            createdItems[0].DateTimeCreatedSpecified = true;
            createdItems[0].DateTimeCreated = DateTime.UtcNow;

            CreateItemResponseType createItemResponse = this.CallCreateItemOperation(DistinguishedFolderIdNameType.drafts, createdItems);

            // Add the debug information
            this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R2033");

            // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R2033
            this.Site.CaptureRequirementIfAreEqual<ResponseCodeType>(
                ResponseCodeType.ErrorInvalidPropertySet,
                createItemResponse.ResponseMessages.Items[0].ResponseCode,
                2033,
                @"[In t:ItemType Complex Type] This element [DateTimeCreated] is read-only.");
            #endregion

            #region Update an item with setting DateTimeCreated
            ItemType item = new ItemType();
            ItemIdType[] createdItemIds = this.CreateItemWithMinimumElements(item);

            UpdateItemResponseType updateItemResponse;
            ItemChangeType[] itemChanges;

            itemChanges = new ItemChangeType[1];
            itemChanges[0] = new ItemChangeType();

            // Update the created item.
            itemChanges[0].Item = createdItemIds[0];
            itemChanges[0].Updates = new ItemChangeDescriptionType[1];
            SetItemFieldType setItem = new SetItemFieldType();
            setItem.Item = new PathToUnindexedFieldType()
            {
                FieldURI = UnindexedFieldURIType.itemDateTimeCreated
            };
            setItem.Item1 = new ItemType()
            {
                DateTimeCreatedSpecified = true,
                DateTimeCreated = DateTime.UtcNow
            };
            itemChanges[0].Updates[0] = setItem;

            updateItemResponse = this.CallUpdateItemOperation(
                DistinguishedFolderIdNameType.drafts,
                true,
                itemChanges);

            // Add the debug information
            this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R2274");

            // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R2274
            this.Site.CaptureRequirementIfAreEqual<ResponseCodeType>(
                ResponseCodeType.ErrorInvalidPropertySet,
                updateItemResponse.ResponseMessages.Items[0].ResponseCode,
                2274,
                @"[In t:ItemType Complex Type] but if [DateTimeCreated] specified in a CreateItem or UpdateItem request, an ErrorInvalidPropertySet ([MS-OXWSCDATA] section 2.2.5.24) will be returned.");
            #endregion
        }
S01_ManageBaseItems