Microsoft.Protocols.TestSuites.Common.Common.LoadSyncResponse C# (CSharp) Method

LoadSyncResponse() public static method

Load SyncResponse to SyncStore.
public static LoadSyncResponse ( SyncResponse response ) : SyncStore
response SyncResponse A SyncResponse instance.
return Microsoft.Protocols.TestSuites.Common.DataStructures.SyncStore
        public static DataStructures.SyncStore LoadSyncResponse(SyncResponse response)
        {
            DataStructures.SyncStore result = new DataStructures.SyncStore();
            if (string.IsNullOrEmpty(response.ResponseData.Status))
            {
                result.StatusSpecified = false;
            }
            else
            {
                result.StatusSpecified = true;
            }

            if (result.StatusSpecified)
            {
                result.Status = Convert.ToInt32(response.ResponseData.Status);
            }

            if (response.ResponseData.Item == null)
            {
                return result;
            }

            Response.SyncCollectionsCollection collection = ((Response.SyncCollections)response.ResponseData.Item).Collection[0];
            for (int i = 0; i < collection.ItemsElementName.Length; i++)
            {
                switch (collection.ItemsElementName[i])
                {
                    case Response.ItemsChoiceType10.CollectionId:
                        result.CollectionId = collection.Items[i].ToString();
                        break;
                    case Response.ItemsChoiceType10.SyncKey:
                        result.SyncKey = collection.Items[i].ToString();
                        break;
                    case Response.ItemsChoiceType10.Status:
                        result.CollectionStatus = Convert.ToByte(collection.Items[i]);
                        break;
                    case Response.ItemsChoiceType10.Commands:
                        Response.SyncCollectionsCollectionCommands commands = collection.Items[i] as Response.SyncCollectionsCollectionCommands;
                        if (commands != null)
                        {
                            LoadAddElements(commands, result.AddElements);
                            LoadChangeElements(commands, result.ChangeElements);
                            LoadDeleteElements(commands, result.DeleteElements);
                        }

                        break;
                    case Response.ItemsChoiceType10.Responses:
                        Response.SyncCollectionsCollectionResponses responses = collection.Items[i] as Response.SyncCollectionsCollectionResponses;
                        if (responses != null)
                        {
                            if (responses.Add != null)
                            {
                                foreach (Response.SyncCollectionsCollectionResponsesAdd add in responses.Add)
                                {
                                    result.AddResponses.Add(add);
                                }
                            }

                            if (responses.Change != null)
                            {
                                foreach (Response.SyncCollectionsCollectionResponsesChange change in responses.Change)
                                {
                                    result.ChangeResponses.Add(change);
                                }
                            }
                        }

                        break;
                }
            }

            return result;
        }
Common