A class indicates the response body of CompareMinIds request
Inheritance: AddressBookResponseBodyBase
        /// <summary>
        /// This method is used by the client to compare the position of two objects in an address book container.
        /// </summary>
        /// <param name="compareMIdsRequestBody">The CompareMinIds request type request body.</param>
        /// <returns>The response body of the CompareMinIds request type.</returns>
        public CompareMinIdsResponseBody CompareMinIds(CompareMinIdsRequestBody compareMIdsRequestBody)
        {
            CommonResponse            commonResponse            = this.SendAddressBookRequest(compareMIdsRequestBody, RequestType.CompareMIds);
            CompareMinIdsResponseBody compareMinIdsResponseBody = CompareMinIdsResponseBody.Parse(commonResponse.ResponseBodyRawData);

            this.VerifyComapreMinIdsResponsebody(compareMinIdsResponseBody);

            return(compareMinIdsResponseBody);
        }
 /// <summary>
 /// Parse the CompareMinIds request type response body.
 /// </summary>
 /// <param name="rawData">The raw data of response.</param>
 /// <returns>The response body of compare minimal IDs request.</returns>
 public static CompareMinIdsResponseBody Parse(byte[] rawData)
 {
     CompareMinIdsResponseBody responseBody = new CompareMinIdsResponseBody();
     int index = 0;
     responseBody.StatusCode = BitConverter.ToUInt32(rawData, index);
     index += 4;
     responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index);
     index += 4;
     responseBody.Result = BitConverter.ToInt32(rawData, index);
     index += 4;
     responseBody.AuxiliaryBufferSize = BitConverter.ToUInt32(rawData, index);
     index += 4;
     responseBody.AuxiliaryBuffer = new byte[responseBody.AuxiliaryBufferSize];
     Array.Copy(rawData, index, responseBody.AuxiliaryBuffer, 0, responseBody.AuxiliaryBufferSize);
     return responseBody;
 }
        /// <summary>
        /// Parse the CompareMinIds request type response body.
        /// </summary>
        /// <param name="rawData">The raw data of response.</param>
        /// <returns>The response body of compare minimal IDs request.</returns>
        public static CompareMinIdsResponseBody Parse(byte[] rawData)
        {
            CompareMinIdsResponseBody responseBody = new CompareMinIdsResponseBody();
            int index = 0;

            responseBody.StatusCode = BitConverter.ToUInt32(rawData, index);
            index += 4;
            responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index);
            index += 4;
            responseBody.Result = BitConverter.ToInt32(rawData, index);
            index += 4;
            responseBody.AuxiliaryBufferSize = BitConverter.ToUInt32(rawData, index);
            index += 4;
            responseBody.AuxiliaryBuffer = new byte[responseBody.AuxiliaryBufferSize];
            Array.Copy(rawData, index, responseBody.AuxiliaryBuffer, 0, responseBody.AuxiliaryBufferSize);
            return(responseBody);
        }
        /// <summary>
        /// Verify the ComapreMinIds response body related requirements.
        /// </summary>
        /// <param name="compareMinIdsResponseBody">The CompareMinIds response body to be verified.</param>
        private void VerifyComapreMinIdsResponsebody(CompareMinIdsResponseBody compareMinIdsResponseBody)
        {
            // Add the debug information
            this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCMAPIHTTP_R399");

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R399
            this.Site.CaptureRequirementIfIsInstanceOfType(
                compareMinIdsResponseBody.StatusCode,
                typeof(uint),
                399,
                @"[In CompareMinIds Request Type Success Response Body] StatusCode (4 bytes): An unsigned integer that specifies the status of the request.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R1290
            this.Site.CaptureRequirementIfAreEqual<uint>(
                0,
                compareMinIdsResponseBody.StatusCode,
                1290,
                @"[In CompareMinIds Request Type Success Response Body] [StatusCode] This field MUST be set to 0x00000000.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R400
            this.Site.CaptureRequirementIfIsInstanceOfType(
                compareMinIdsResponseBody.ErrorCode,
                typeof(uint),
                400,
                @"[In CompareMinIds Request Type Success Response Body] ErrorCode (4 bytes): An unsigned integer that specifies the return status of the operation.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R401
            this.Site.CaptureRequirementIfIsInstanceOfType(
                compareMinIdsResponseBody.Result,
                typeof(int),
                401,
                @"[In CompareMinIds Request Type Success Response Body] Result (4 bytes): A signed integer that specifies the result of the comparison.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R402
            this.Site.CaptureRequirementIfIsInstanceOfType(
                compareMinIdsResponseBody.AuxiliaryBufferSize,
                typeof(uint),
                402,
                @"[In CompareMinIds Request Type Success Response Body] AuxiliaryBufferSize (4 bytes): An unsigned integer that specifies the size, in bytes, of the AuxiliaryBuffer field.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R403
            this.Site.CaptureRequirementIfIsInstanceOfType(
                compareMinIdsResponseBody.AuxiliaryBuffer,
                typeof(byte[]),
                403,
                @"[In CompareMinIds Request Type Success Response Body] AuxiliaryBuffer (variable): An array of bytes that constitute the auxiliary payload data returned from the server.");

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

            // Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R404
            this.Site.CaptureRequirementIfAreEqual<uint>(
                compareMinIdsResponseBody.AuxiliaryBufferSize,
                (uint)compareMinIdsResponseBody.AuxiliaryBuffer.Length,
                404,
                @"[In CompareMinIds Request Type Success Response Body] [AuxiliaryBuffer] The size of this field, in bytes, is specified by the AuxiliaryBufferSize field.");
        }