/// <summary> /// Removes system properties from the passed in item /// </summary> /// <param name="item"> /// The item returned from the server /// </param> /// <param name="parameters"> /// A dictionary of user-defined parameters and values to include in /// the request URI query string. /// </param> /// <param name="version"> /// Set to the value of the version system property before it is removed. /// </param> /// <returns> /// An item that only contains normal fields and the requested system properties /// </returns> private JToken RemoveUnrequestedSystemProperties(JToken item, IDictionary <string, string> parameters, string version) { object id = null; if (item == null) { return(null); } MobileServiceSerializer.TryGetId(item as JObject, true, out id); if (id == null || MobileServiceSerializer.IsIntegerId(id)) { return(item); } var actualSystemProperties = GetRequestedSystemProperties(parameters); if (actualSystemProperties == MobileServiceSystemProperties.All) { return(item); } string ignoredVersion = null; var cleanedItem = MobileServiceSerializer.RemoveSystemProperties(item as JObject, out ignoredVersion, actualSystemProperties); if (version != null) { cleanedItem[MobileServiceSerializer.VersionSystemPropertyString] = GetValueFromEtag(version); } return(cleanedItem); }