public static DataStructures.SearchStore LoadSearchResponse(SearchResponse search)
{
DataStructures.SearchStore searchStore = new DataStructures.SearchStore();
if (search.ResponseData.Status != null)
{
searchStore.Status = search.ResponseData.Status;
if (!searchStore.Status.Equals("1"))
{
return searchStore;
}
}
searchStore.StoreStatus = search.ResponseData.Response.Store.Status;
if (!searchStore.StoreStatus.Equals("1"))
{
return searchStore;
}
searchStore.Range = search.ResponseData.Response.Store.Range;
if (!string.IsNullOrEmpty(search.ResponseData.Response.Store.Total))
{
searchStore.Total = Convert.ToInt32(search.ResponseData.Response.Store.Total, CultureInfo.InvariantCulture);
}
if (search.ResponseData.Response.Store.Result == null)
{
return searchStore;
}
if (search.ResponseData.Response.Store.Result.Length == 1 && search.ResponseData.Response.Store.Result[0].CollectionId == null)
{
return searchStore;
}
foreach (Response.SearchResponseStoreResult result in search.ResponseData.Response.Store.Result)
{
DataStructures.Search searchResult = new DataStructures.Search
{
LongId = result.LongId,
Class = result.Class,
CollectionId = result.CollectionId,
Note = DataStructures.Note.DeserializeFromSearchProperties<DataStructures.Note>(result.Properties),
Calendar = DataStructures.Calendar.DeserializeFromSearchProperties<DataStructures.Calendar>(result.Properties),
Contact = DataStructures.Contact.DeserializeFromSearchProperties<DataStructures.Contact>(result.Properties),
Email = DataStructures.Email.DeserializeFromSearchProperties<DataStructures.Email>(result.Properties),
Task = DataStructures.Task.DeserializeFromSearchProperties<DataStructures.Task>(result.Properties)
};
searchStore.Results.Add(searchResult);
}
return searchStore;
}