/// <summary> /// Create a new <see cref="ParameterOverrideValueSet"/> from the old values /// </summary> /// <param name="oldValue">The old <see cref="ParameterOverrideValueSet"/></param> /// <param name="parameterValueSet">The <see cref="ParameterValueSet"/></param> /// <param name="container">The <see cref="ParameterOverride"/></param> /// <param name="transaction">The current transaction</param> /// <param name="partition">The current partition</param> /// <returns>The new <see cref="ParameterOverrideValueSet"/></returns> private ParameterOverrideValueSet CreateParameterOverrideValueSet(ParameterOverrideValueSet oldValue, ParameterValueSet parameterValueSet, ParameterOverride container, NpgsqlTransaction transaction, string partition) { var isOldValueNull = oldValue == null; var newValueSet = new ParameterOverrideValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(isOldValueNull ? parameterValueSet.Manual : oldValue.Manual), Computed = new ValueArray <string>(isOldValueNull ? parameterValueSet.Computed : oldValue.Computed), Reference = new ValueArray <string>(isOldValueNull ? parameterValueSet.Reference : oldValue.Reference), Published = new ValueArray <string>(isOldValueNull ? parameterValueSet.Published : oldValue.Published), Formula = new ValueArray <string>(isOldValueNull ? parameterValueSet.Formula : oldValue.Formula), ParameterValueSet = parameterValueSet.Iid, ValueSwitch = isOldValueNull ? CDP4Common.EngineeringModelData.ParameterSwitchKind.MANUAL : oldValue.ValueSwitch }; this.ParameterOverrideValueSetService.CreateConcept(transaction, partition, newValueSet, container); return(newValueSet); }
/// <summary> /// Instantiate and deserialize the properties of a <paramref name="ParameterOverrideValueSet"/> /// </summary> /// <param name="jObject">The <see cref="JObject"/> containing the data</param> /// <returns>The <see cref="ParameterOverrideValueSet"/> to instantiate</returns> public static CDP4Common.DTO.ParameterOverrideValueSet FromJsonObject(JObject jObject) { var iid = jObject["iid"].ToObject <Guid>(); var revisionNumber = jObject["revisionNumber"].IsNullOrEmpty() ? 0 : jObject["revisionNumber"].ToObject <int>(); var parameterOverrideValueSet = new CDP4Common.DTO.ParameterOverrideValueSet(iid, revisionNumber); if (!jObject["computed"].IsNullOrEmpty()) { parameterOverrideValueSet.Computed = SerializerHelper.ToValueArray <string>(jObject["computed"].ToString()); } if (!jObject["excludedDomain"].IsNullOrEmpty()) { parameterOverrideValueSet.ExcludedDomain.AddRange(jObject["excludedDomain"].ToObject <IEnumerable <Guid> >()); } if (!jObject["excludedPerson"].IsNullOrEmpty()) { parameterOverrideValueSet.ExcludedPerson.AddRange(jObject["excludedPerson"].ToObject <IEnumerable <Guid> >()); } if (!jObject["formula"].IsNullOrEmpty()) { parameterOverrideValueSet.Formula = SerializerHelper.ToValueArray <string>(jObject["formula"].ToString()); } if (!jObject["manual"].IsNullOrEmpty()) { parameterOverrideValueSet.Manual = SerializerHelper.ToValueArray <string>(jObject["manual"].ToString()); } if (!jObject["modifiedOn"].IsNullOrEmpty()) { parameterOverrideValueSet.ModifiedOn = jObject["modifiedOn"].ToObject <DateTime>(); } if (!jObject["parameterValueSet"].IsNullOrEmpty()) { parameterOverrideValueSet.ParameterValueSet = jObject["parameterValueSet"].ToObject <Guid>(); } if (!jObject["published"].IsNullOrEmpty()) { parameterOverrideValueSet.Published = SerializerHelper.ToValueArray <string>(jObject["published"].ToString()); } if (!jObject["reference"].IsNullOrEmpty()) { parameterOverrideValueSet.Reference = SerializerHelper.ToValueArray <string>(jObject["reference"].ToString()); } if (!jObject["thingPreference"].IsNullOrEmpty()) { parameterOverrideValueSet.ThingPreference = jObject["thingPreference"].ToObject <string>(); } if (!jObject["valueSwitch"].IsNullOrEmpty()) { parameterOverrideValueSet.ValueSwitch = jObject["valueSwitch"].ToObject <ParameterSwitchKind>(); } return(parameterOverrideValueSet); }