/// <summary> /// Parse the response data into response body. /// </summary> /// <param name="rawData">The raw data of response</param> /// <returns>The response body of the request</returns> public static ResortRestrictionResponseBody Parse(byte[] rawData) { ResortRestrictionResponseBody responseBody = new ResortRestrictionResponseBody(); int index = 0; responseBody.StatusCode = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); responseBody.HasState = BitConverter.ToBoolean(rawData, index); index += sizeof(bool); if (responseBody.HasState) { responseBody.State = STAT.Parse(rawData, ref index); } else { responseBody.State = null; } responseBody.HasMinimalIds = BitConverter.ToBoolean(rawData, index); index += sizeof(bool); List <uint> minimalIdsList = new List <uint>(); if (responseBody.HasMinimalIds) { responseBody.MinimalIdCount = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); for (int i = 0; i < responseBody.MinimalIdCount; i++) { uint minId = BitConverter.ToUInt32(rawData, index); minimalIdsList.Add(minId); index += sizeof(uint); } responseBody.MinimalIds = minimalIdsList.ToArray(); } else { responseBody.MinimalIdCount = null; minimalIdsList = null; } 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 response data into response body. /// </summary> /// <param name="rawData">The raw data of response</param> /// <returns>The response body of the request</returns> public static ResortRestrictionResponseBody Parse(byte[] rawData) { ResortRestrictionResponseBody responseBody = new ResortRestrictionResponseBody(); int index = 0; responseBody.StatusCode = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); responseBody.HasState = BitConverter.ToBoolean(rawData, index); index += sizeof(bool); if (responseBody.HasState) { responseBody.State = STAT.Parse(rawData, ref index); } else { responseBody.State = null; } responseBody.HasMinimalIds = BitConverter.ToBoolean(rawData, index); index += sizeof(bool); List<uint> minimalIdsList = new List<uint>(); if (responseBody.HasMinimalIds) { responseBody.MinimalIdCount = BitConverter.ToUInt32(rawData, index); index += sizeof(uint); for (int i = 0; i < responseBody.MinimalIdCount; i++) { uint minId = BitConverter.ToUInt32(rawData, index); minimalIdsList.Add(minId); index += sizeof(uint); } responseBody.MinimalIds = minimalIdsList.ToArray(); } else { responseBody.MinimalIdCount = null; minimalIdsList = null; } 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; }