public static void SetNullIdOrThrowOnInconsistentIds(string id, CreateOrMergePatchOrDeleteAttributeSetInstanceDto value) { var idObj = id; if (value.AttributeSetInstanceId == null) { value.AttributeSetInstanceId = idObj; } else if (!((ICreateOrMergePatchOrDeleteAttributeSetInstance)value).AttributeSetInstanceId.Equals(idObj)) { throw DomainError.Named("inconsistentId", "Argument Id {0} NOT equals body Id {1}", id, value.AttributeSetInstanceId); } }
//protected override JObject NewJObject(IAttributeSetInstanceStateDto state) //{ // dynamic dynamicObject = new JObject(); // return dynamicObject; //} /// <summary> /// Map Extension properties. /// </summary> /// <param name="dynamicObject">Source object.</param> /// <param name="command">Target object.</param> /// <param name="propertyFieldDictionary">Extension propertyName-to-underlyingFieldName dictionary.</param> private static void MapExtensionProperties(JObject dynamicObject, CreateOrMergePatchOrDeleteAttributeSetInstanceDto command, IDictionary <string, string> propertyFieldDictionary, string nameFormat) { foreach (var p in propertyFieldDictionary) { var propertyName = (nameFormat == null) ? p.Key : String.Format(nameFormat, p.Key); var fieldName = (nameFormat == null) ? p.Value : String.Format(nameFormat, p.Value); var pVal = dynamicObject.GetValue(propertyName, StringComparison.InvariantCultureIgnoreCase); if (pVal != null) { var fieldType = command.GetType().GetProperty(fieldName).PropertyType; Dynamic.InvokeSet(command, fieldName, pVal.ToObject(fieldType)); } } }