in provisioning/service/src/Config/QueryResult.cs [111:175]
internal QueryResult(string typeString, string bodyString, string continuationToken)
{
Type = (QueryResultType)Enum.Parse(typeof(QueryResultType), typeString, true);
ContinuationToken = string.IsNullOrWhiteSpace(continuationToken)
? null
: continuationToken;
if (Type != QueryResultType.Unknown && string.IsNullOrWhiteSpace(bodyString))
{
if (bodyString == null)
{
throw new ArgumentNullException(nameof(bodyString));
}
throw new ArgumentException("Invalid query body.", nameof(bodyString));
}
switch (Type)
{
case QueryResultType.Enrollment:
Items = JsonConvert.DeserializeObject<IEnumerable<IndividualEnrollment>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
break;
case QueryResultType.EnrollmentGroup:
Items = JsonConvert.DeserializeObject<IEnumerable<EnrollmentGroup>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
break;
case QueryResultType.DeviceRegistration:
Items = JsonConvert.DeserializeObject<IEnumerable<DeviceRegistrationState>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
break;
default:
if (bodyString == null)
{
Items = null;
}
else
{
try
{
Items = JsonConvert.DeserializeObject<IEnumerable<JObject>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
}
catch (ArgumentException)
{
try
{
Items = JsonConvert.DeserializeObject<IEnumerable<object>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
}
catch (ArgumentException)
{
Items = new string[] { bodyString };
}
}
catch (JsonSerializationException)
{
Items = JsonConvert.DeserializeObject<IEnumerable<object>>(bodyString, JsonSerializerSettingsInitializer.GetJsonSerializerSettings());
}
catch (JsonReaderException)
{
Items = new string[] { bodyString };
}
}
break;
}
}