internal static TwinData DeserializeTwinData(JsonElement element) { string deviceId = default; string moduleId = default; IDictionary <string, object> tags = default; TwinProperties properties = default; string etag = default; long? version = default; string deviceEtag = default; TwinStatus? status = default; string statusReason = default; DateTimeOffset? statusUpdateTime = default; TwinConnectionState?connectionState = default; DateTimeOffset? lastActivityTime = default; int?cloudToDeviceMessageCount = default; TwinAuthenticationType?authenticationType = default; X509Thumbprint x509Thumbprint = default; DeviceCapabilities capabilities = default; string deviceScope = default; IList <string> parentScopes = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deviceId")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } deviceId = property.Value.GetString(); continue; } if (property.NameEquals("moduleId")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } moduleId = property.Value.GetString(); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } Dictionary <string, object> dictionary = new Dictionary <string, object>(); foreach (var property0 in property.Value.EnumerateObject()) { if (property0.Value.ValueKind == JsonValueKind.Null) { dictionary.Add(property0.Name, null); } else { dictionary.Add(property0.Name, property0.Value.GetObject()); } } tags = dictionary; continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } properties = TwinProperties.DeserializeTwinProperties(property.Value); continue; } if (property.NameEquals("etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } etag = property.Value.GetString(); continue; } if (property.NameEquals("version")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } version = property.Value.GetInt64(); continue; } if (property.NameEquals("deviceEtag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } deviceEtag = property.Value.GetString(); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } status = new TwinStatus(property.Value.GetString()); continue; } if (property.NameEquals("statusReason")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } statusReason = property.Value.GetString(); continue; } if (property.NameEquals("statusUpdateTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } statusUpdateTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("connectionState")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } connectionState = new TwinConnectionState(property.Value.GetString()); continue; } if (property.NameEquals("lastActivityTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } lastActivityTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("cloudToDeviceMessageCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } cloudToDeviceMessageCount = property.Value.GetInt32(); continue; } if (property.NameEquals("authenticationType")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } authenticationType = new TwinAuthenticationType(property.Value.GetString()); continue; } if (property.NameEquals("x509Thumbprint")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } x509Thumbprint = X509Thumbprint.DeserializeX509Thumbprint(property.Value); continue; } if (property.NameEquals("capabilities")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } capabilities = DeviceCapabilities.DeserializeDeviceCapabilities(property.Value); continue; } if (property.NameEquals("deviceScope")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } deviceScope = property.Value.GetString(); continue; } if (property.NameEquals("parentScopes")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } parentScopes = array; continue; } } return(new TwinData(deviceId, moduleId, tags, properties, etag, version, deviceEtag, status, statusReason, statusUpdateTime, connectionState, lastActivityTime, cloudToDeviceMessageCount, authenticationType, x509Thumbprint, capabilities, deviceScope, parentScopes)); }
internal static TwinData DeserializeTwinData(JsonElement element) { Optional <string> deviceId = default; Optional <string> moduleId = default; Optional <IDictionary <string, object> > tags = default; Optional <TwinProperties> properties = default; Optional <string> etag = default; Optional <long> version = default; Optional <string> deviceEtag = default; Optional <TwinStatus> status = default; Optional <string> statusReason = default; Optional <DateTimeOffset> statusUpdateTime = default; Optional <TwinConnectionState> connectionState = default; Optional <DateTimeOffset> lastActivityTime = default; Optional <int> cloudToDeviceMessageCount = default; Optional <TwinAuthenticationType> authenticationType = default; Optional <X509Thumbprint> x509Thumbprint = default; Optional <DeviceCapabilities> capabilities = default; Optional <string> deviceScope = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deviceId")) { deviceId = property.Value.GetString(); continue; } if (property.NameEquals("moduleId")) { moduleId = property.Value.GetString(); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, object> dictionary = new Dictionary <string, object>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetObject()); } tags = dictionary; continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } properties = TwinProperties.DeserializeTwinProperties(property.Value); continue; } if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("version")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } version = property.Value.GetInt64(); continue; } if (property.NameEquals("deviceEtag")) { deviceEtag = property.Value.GetString(); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } status = new TwinStatus(property.Value.GetString()); continue; } if (property.NameEquals("statusReason")) { statusReason = property.Value.GetString(); continue; } if (property.NameEquals("statusUpdateTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statusUpdateTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("connectionState")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } connectionState = new TwinConnectionState(property.Value.GetString()); continue; } if (property.NameEquals("lastActivityTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } lastActivityTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("cloudToDeviceMessageCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } cloudToDeviceMessageCount = property.Value.GetInt32(); continue; } if (property.NameEquals("authenticationType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } authenticationType = new TwinAuthenticationType(property.Value.GetString()); continue; } if (property.NameEquals("x509Thumbprint")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } x509Thumbprint = X509Thumbprint.DeserializeX509Thumbprint(property.Value); continue; } if (property.NameEquals("capabilities")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } capabilities = DeviceCapabilities.DeserializeDeviceCapabilities(property.Value); continue; } if (property.NameEquals("deviceScope")) { deviceScope = property.Value.GetString(); continue; } } return(new TwinData(deviceId.Value, moduleId.Value, Optional.ToDictionary(tags), properties.Value, etag.Value, Optional.ToNullable(version), deviceEtag.Value, Optional.ToNullable(status), statusReason.Value, Optional.ToNullable(statusUpdateTime), Optional.ToNullable(connectionState), Optional.ToNullable(lastActivityTime), Optional.ToNullable(cloudToDeviceMessageCount), Optional.ToNullable(authenticationType), x509Thumbprint.Value, capabilities.Value, deviceScope.Value)); }
internal static DeviceIdentity DeserializeDeviceIdentity(JsonElement element) { string deviceId = default; string generationId = default; string etag = default; DeviceConnectionState?connectionState = default; DeviceStatus? status = default; string statusReason = default; DateTimeOffset? connectionStateUpdatedTime = default; DateTimeOffset? statusUpdatedTime = default; DateTimeOffset? lastActivityTime = default; int? cloudToDeviceMessageCount = default; AuthenticationMechanism authentication = default; DeviceCapabilities capabilities = default; string deviceScope = default; IList <string> parentScopes = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deviceId")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } deviceId = property.Value.GetString(); continue; } if (property.NameEquals("generationId")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } generationId = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } etag = property.Value.GetString(); continue; } if (property.NameEquals("connectionState")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } connectionState = new DeviceConnectionState(property.Value.GetString()); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } status = new DeviceStatus(property.Value.GetString()); continue; } if (property.NameEquals("statusReason")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } statusReason = property.Value.GetString(); continue; } if (property.NameEquals("connectionStateUpdatedTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } connectionStateUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("statusUpdatedTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } statusUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("lastActivityTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } lastActivityTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("cloudToDeviceMessageCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } cloudToDeviceMessageCount = property.Value.GetInt32(); continue; } if (property.NameEquals("authentication")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } authentication = AuthenticationMechanism.DeserializeAuthenticationMechanism(property.Value); continue; } if (property.NameEquals("capabilities")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } capabilities = DeviceCapabilities.DeserializeDeviceCapabilities(property.Value); continue; } if (property.NameEquals("deviceScope")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } deviceScope = property.Value.GetString(); continue; } if (property.NameEquals("parentScopes")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } parentScopes = array; continue; } } return(new DeviceIdentity(deviceId, generationId, etag, connectionState, status, statusReason, connectionStateUpdatedTime, statusUpdatedTime, lastActivityTime, cloudToDeviceMessageCount, authentication, capabilities, deviceScope, parentScopes)); }
internal static DeviceIdentity DeserializeDeviceIdentity(JsonElement element) { Optional <string> deviceId = default; Optional <string> generationId = default; Optional <string> etag = default; Optional <DeviceConnectionState> connectionState = default; Optional <DeviceStatus> status = default; Optional <string> statusReason = default; Optional <DateTimeOffset> connectionStateUpdatedTime = default; Optional <DateTimeOffset> statusUpdatedTime = default; Optional <DateTimeOffset> lastActivityTime = default; Optional <int> cloudToDeviceMessageCount = default; Optional <AuthenticationMechanism> authentication = default; Optional <DeviceCapabilities> capabilities = default; Optional <string> deviceScope = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deviceId")) { deviceId = property.Value.GetString(); continue; } if (property.NameEquals("generationId")) { generationId = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("connectionState")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } connectionState = new DeviceConnectionState(property.Value.GetString()); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } status = new DeviceStatus(property.Value.GetString()); continue; } if (property.NameEquals("statusReason")) { statusReason = property.Value.GetString(); continue; } if (property.NameEquals("connectionStateUpdatedTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } connectionStateUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("statusUpdatedTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statusUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("lastActivityTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } lastActivityTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("cloudToDeviceMessageCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } cloudToDeviceMessageCount = property.Value.GetInt32(); continue; } if (property.NameEquals("authentication")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } authentication = AuthenticationMechanism.DeserializeAuthenticationMechanism(property.Value); continue; } if (property.NameEquals("capabilities")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } capabilities = DeviceCapabilities.DeserializeDeviceCapabilities(property.Value); continue; } if (property.NameEquals("deviceScope")) { deviceScope = property.Value.GetString(); continue; } } return(new DeviceIdentity(deviceId.Value, generationId.Value, etag.Value, Optional.ToNullable(connectionState), Optional.ToNullable(status), statusReason.Value, Optional.ToNullable(connectionStateUpdatedTime), Optional.ToNullable(statusUpdatedTime), Optional.ToNullable(lastActivityTime), Optional.ToNullable(cloudToDeviceMessageCount), authentication.Value, capabilities.Value, deviceScope.Value)); }
internal static DeviceIdentity DeserializeDeviceIdentity(JsonElement element) { Optional <string> deviceId = default; Optional <string> generationId = default; Optional <string> etag = default; Optional <DeviceConnectionState> connectionState = default; Optional <DeviceStatus> status = default; Optional <string> statusReason = default; Optional <DateTimeOffset> connectionStateUpdatedTime = default; Optional <DateTimeOffset> statusUpdatedTime = default; Optional <DateTimeOffset> lastActivityTime = default; Optional <int> cloudToDeviceMessageCount = default; Optional <AuthenticationMechanism> authentication = default; Optional <DeviceCapabilities> capabilities = default; Optional <string> deviceScope = default; Optional <IList <string> > parentScopes = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deviceId")) { deviceId = property.Value.GetString(); continue; } if (property.NameEquals("generationId")) { generationId = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("connectionState")) { connectionState = new DeviceConnectionState(property.Value.GetString()); continue; } if (property.NameEquals("status")) { status = new DeviceStatus(property.Value.GetString()); continue; } if (property.NameEquals("statusReason")) { statusReason = property.Value.GetString(); continue; } if (property.NameEquals("connectionStateUpdatedTime")) { connectionStateUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("statusUpdatedTime")) { statusUpdatedTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("lastActivityTime")) { lastActivityTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("cloudToDeviceMessageCount")) { cloudToDeviceMessageCount = property.Value.GetInt32(); continue; } if (property.NameEquals("authentication")) { authentication = AuthenticationMechanism.DeserializeAuthenticationMechanism(property.Value); continue; } if (property.NameEquals("capabilities")) { capabilities = DeviceCapabilities.DeserializeDeviceCapabilities(property.Value); continue; } if (property.NameEquals("deviceScope")) { deviceScope = property.Value.GetString(); continue; } if (property.NameEquals("parentScopes")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } parentScopes = array; continue; } } return(new DeviceIdentity(deviceId.Value, generationId.Value, etag.Value, Optional.ToNullable(connectionState), Optional.ToNullable(status), statusReason.Value, Optional.ToNullable(connectionStateUpdatedTime), Optional.ToNullable(statusUpdatedTime), Optional.ToNullable(lastActivityTime), Optional.ToNullable(cloudToDeviceMessageCount), authentication.Value, capabilities.Value, deviceScope.Value, Optional.ToList(parentScopes))); }