/// <summary> /// Gets the values of the specified multivalued attribute /// </summary> /// <param name="attribute">The attribute to obtain the value for</param> /// <returns>A DBAttributeValues object containing the values of the specified attribute</returns> private DBAttributeValues DBGetAVPAttributeValues(AcmaSchemaAttribute attribute) { if (!this.attributeValuesCache.ContainsKey(attribute.Name)) { this.attributeValuesCache.Add(attribute.Name, DBAttributeValues.GetAttributeValues(attribute, this.ObjectID)); } return(this.attributeValuesCache[attribute.Name]); }
internal void PreLoadAVPs(IEnumerable <AcmaSchemaAttribute> attributes) { IList <DBAttributeValues> valueSets = DBAttributeValues.GetAttributeValues(attributes, this.ObjectID); foreach (var valueSet in valueSets) { if (!this.attributeValuesCache.ContainsKey(valueSet.Attribute.Name)) { this.attributeValuesCache.Add(valueSet.Attribute.Name, valueSet); } } }
internal static IList <DBAttributeValues> GetAVPAttributesForObject(Guid objectId, AcmaSchemaObjectClass objectClass) { List <DBAttributeValues> values = new List <DBAttributeValues>(); foreach (string tableName in objectClass.AvpAttributes.Select(t => t.TableName).Distinct()) { SqlDataAdapter adapter; DataTable table = DBAttributeValues.GetAttributeValuesDataTable(objectId, tableName, out adapter); values.AddRange(DBAttributeValues.GetDBAttributeValuesFromDataTable(table, adapter, objectId)); } return(values); }