Exemple #1
0
        private AttributeInstance FindAttributeInstanceInScope(string attributeName)
        {
            AttributeInstance attributeInstance = null;
            Flow scope = this.Flow;
            var  attributeRepository = ServiceLocator.Current.GetInstance <IRepository <AttributeInstance> >();

            while (attributeInstance == null)
            {
                var query =
                    from a in attributeRepository
                    where a.Scope.Id == scope.Id && a.AttributeName == attributeName
                    select a;

                attributeInstance = query.SingleOrDefault();
                if (attributeInstance == null)
                {
                    if (!scope.IsRootFlow())
                    {
                        scope = scope.Parent;
                    }
                    else
                    {
                        //throw new RuntimeException( "couldn't find attribute-instance '" + attributeName + "' in scope of flow '" + this.flow + "'" );
                        // log a warning message (indicate that attribute supplied is not defined in attribute-instance in db)
                        Log.Warning("couldn't find attribute-instance '" + attributeName + "' in scope of flow '" + this.Flow + "'");
                        break;
                    }
                }
            }
            return(attributeInstance);
        }
Exemple #2
0
        private void setAttribute(string attributeName, object valueObject)
        {
            AttributeInstance attributeInstance = this.Flow.AttributeInstances.SingleOrDefault(s => s.AttributeName == attributeName);

            if (attributeInstance != null)
            {
                attributeInstance.SetValue(valueObject);
            }
        }
Exemple #3
0
        public object GetAttribute(string name)
        {
            AttributeInstance attributeInstance = FindAttributeInstanceInScope(name);

            if (attributeInstance != null)
            {
                return(attributeInstance.GetValue());
            }
            return(null);
        }
Exemple #4
0
        private void createAttributeInstances(ICollection <AttributeDef> attributes)
        {
            this.AttributeInstances = new HashSet <AttributeInstance>();
            IEnumerator iter = attributes.GetEnumerator();

            foreach (var attribute in attributes)
            {
                String            attributeName     = attribute.Name;
                AttributeInstance attributeInstance = new AttributeInstance(attribute, this);
                attributeInstance.ValueText = attribute.InitialValue;
                this.AttributeInstances.Add(attributeInstance);
            }
        }