public static List <Tuple <IObjectAttribute, ClassAttribute> > GetGenerateDefaultAttributes(ClassAttributesDefinition classAttributes, ulong?objectType) { if (classAttributes == null) { throw new ArgumentNullException("classAttributes"); } return(GetDefaultAttributes(classAttributes, objectType, false)); }
private static List <Tuple <IObjectAttribute, ClassAttribute> > GetDefaultAttributes(ClassAttributesDefinition classAttributes, ulong?objectType, bool createObject) { if (classAttributes == null) { throw new ArgumentNullException("classAttributes"); } List <Tuple <IObjectAttribute, ClassAttribute> > objectAttributes = new List <Tuple <IObjectAttribute, ClassAttribute> >(); foreach (ClassAttribute classAttribute in classAttributes.CommonAttributes) { IObjectAttribute objectAttribute = (createObject) ? GetDefaultAttribute(classAttribute.Value, classAttribute.CreateDefaultValue) : GetDefaultAttribute(classAttribute.Value, classAttribute.GenerateDefaultValue); objectAttributes.Add(new Tuple <IObjectAttribute, ClassAttribute>(objectAttribute, classAttribute)); } if ((objectType != null) && (classAttributes.TypeSpecificAttributes.ContainsKey(objectType.Value))) { foreach (ClassAttribute classAttribute in classAttributes.TypeSpecificAttributes[objectType.Value]) { IObjectAttribute objectAttribute = (createObject) ? GetDefaultAttribute(classAttribute.Value, classAttribute.CreateDefaultValue) : GetDefaultAttribute(classAttribute.Value, classAttribute.GenerateDefaultValue); objectAttributes.Add(new Tuple <IObjectAttribute, ClassAttribute>(objectAttribute, classAttribute)); } } return(objectAttributes); }