internal Deployment(string deploymentId, DeploymentType deploymentType, string deviceClassId, DateTimeOffset startDateTime, DeviceGroupType deviceGroupType, IList <string> deviceGroupDefinition, UpdateId updateId, bool?isCanceled, bool?isRetried, bool?isCompleted) { DeploymentId = deploymentId; DeploymentType = deploymentType; DeviceClassId = deviceClassId; StartDateTime = startDateTime; DeviceGroupType = deviceGroupType; DeviceGroupDefinition = deviceGroupDefinition; UpdateId = updateId; IsCanceled = isCanceled; IsRetried = isRetried; IsCompleted = isCompleted; }
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("deploymentId"); writer.WriteStringValue(DeploymentId); writer.WritePropertyName("deploymentType"); writer.WriteStringValue(DeploymentType.ToString()); if (Optional.IsDefined(DeviceClassId)) { writer.WritePropertyName("deviceClassId"); writer.WriteStringValue(DeviceClassId); } writer.WritePropertyName("startDateTime"); writer.WriteStringValue(StartDateTime, "O"); writer.WritePropertyName("deviceGroupType"); writer.WriteStringValue(DeviceGroupType.ToString()); writer.WritePropertyName("deviceGroupDefinition"); writer.WriteStartArray(); foreach (var item in DeviceGroupDefinition) { writer.WriteStringValue(item); } writer.WriteEndArray(); writer.WritePropertyName("updateId"); writer.WriteObjectValue(UpdateId); if (Optional.IsDefined(IsCanceled)) { writer.WritePropertyName("isCanceled"); writer.WriteBooleanValue(IsCanceled.Value); } if (Optional.IsDefined(IsRetried)) { writer.WritePropertyName("isRetried"); writer.WriteBooleanValue(IsRetried.Value); } if (Optional.IsDefined(IsCompleted)) { writer.WritePropertyName("isCompleted"); writer.WriteBooleanValue(IsCompleted.Value); } writer.WriteEndObject(); }
public Deployment(string deploymentId, DeploymentType deploymentType, DateTimeOffset startDateTime, DeviceGroupType deviceGroupType, IEnumerable <string> deviceGroupDefinition, UpdateId updateId) { if (deploymentId == null) { throw new ArgumentNullException(nameof(deploymentId)); } if (deviceGroupDefinition == null) { throw new ArgumentNullException(nameof(deviceGroupDefinition)); } if (updateId == null) { throw new ArgumentNullException(nameof(updateId)); } DeploymentId = deploymentId; DeploymentType = deploymentType; StartDateTime = startDateTime; DeviceGroupType = deviceGroupType; DeviceGroupDefinition = deviceGroupDefinition.ToList(); UpdateId = updateId; }
internal static Deployment DeserializeDeployment(JsonElement element) { string deploymentId = default; DeploymentType deploymentType = default; Optional <string> deviceClassId = default; DateTimeOffset startDateTime = default; DeviceGroupType deviceGroupType = default; IList <string> deviceGroupDefinition = default; UpdateId updateId = default; Optional <bool> isCanceled = default; Optional <bool> isRetried = default; Optional <bool> isCompleted = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("deploymentId")) { deploymentId = property.Value.GetString(); continue; } if (property.NameEquals("deploymentType")) { deploymentType = new DeploymentType(property.Value.GetString()); continue; } if (property.NameEquals("deviceClassId")) { deviceClassId = property.Value.GetString(); continue; } if (property.NameEquals("startDateTime")) { startDateTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("deviceGroupType")) { deviceGroupType = new DeviceGroupType(property.Value.GetString()); continue; } if (property.NameEquals("deviceGroupDefinition")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } deviceGroupDefinition = array; continue; } if (property.NameEquals("updateId")) { updateId = UpdateId.DeserializeUpdateId(property.Value); continue; } if (property.NameEquals("isCanceled")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isCanceled = property.Value.GetBoolean(); continue; } if (property.NameEquals("isRetried")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isRetried = property.Value.GetBoolean(); continue; } if (property.NameEquals("isCompleted")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isCompleted = property.Value.GetBoolean(); continue; } } return(new Deployment(deploymentId, deploymentType, deviceClassId.Value, startDateTime, deviceGroupType, deviceGroupDefinition, updateId, Optional.ToNullable(isCanceled), Optional.ToNullable(isRetried), Optional.ToNullable(isCompleted))); }