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;
 }
Example #2
0
 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;
        }
Example #4
0
        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)));
        }