Exemplo n.º 1
0
        /// <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]);
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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);
        }