Exemple #1
0
        public override void Make(IConfigurationType config, IExpressionsManager manager)
        {
            if (null == manager)
            {
                throw new ArgumentNullException("manager");
            }
            if (null == config)
            {
                throw new ArgumentNullException("config");
            }
            IConfigurationElement element = config as IConfigurationElement;

            if (null == element)
            {
                throw new ArgumentException("config must be an IConfigurationElement");
            }

            if (element.Elements.ContainsKey("operands"))
            {
                foreach (IConfigurationElement operandElement in element.GetElementReference("operands").Elements.Values)
                {
                    string type  = operandElement.GetAttributeReference("type").Value.ToString();
                    IToken token = manager.Token(type);
                    if (null == token)
                    {
                        throw new InvalidOperationException(string.Format("Cannot make the type '{0}'", type));
                    }

                    token.Make(operandElement, manager);
                    this.Operands.Add(token);
                }
            }
        }
Exemple #2
0
        public static IExpression Expression(this IExpressionsManager manager, XElement element)
        {
            Configuration         config        = new Configuration();
            IConfigurationElement configElement = config.AddSection("expression extensions").AddElement("expression");

            configElement.ReadXml(element.CreateReader());
            IExpression expression = manager.Token(configElement.GetAttributeReference("type").Value.ToString()) as IExpression;

            if (null != expression)
            {
                expression.Make(configElement, manager);
            }
            return(expression);
        }
Exemple #3
0
        private TransitPoint CreateTransitPoint(WebPartManager manager, IConfigurationElement element, IExpressionsManager expressionsManager)
        {
            bool         valid        = false;
            TransitPoint transitPoint = new TransitPoint();

            if (element.Attributes.ContainsKey("id"))
            {
                valid = true;
                transitPoint.Chronicler = (ReflectionServices.FindControlEx(element.GetAttributeReference("id").Value.ToString(), manager) as IChronicler);
            }
            if (element.Attributes.ContainsKey("member"))
            {
                transitPoint.Member = element.GetAttributeReference("member").Value.ToString();
            }
            if (element.Attributes.ContainsKey("value"))
            {
                valid = true;
                transitPoint.Value = element.GetAttributeReference("value").Value;
            }
            if (element.Elements.ContainsKey("expression"))
            {
                valid = true;

                IConfigurationElement expressionElement = element.GetElementReference("expression");
                IExpression           expression        = expressionsManager.Token(expressionElement.GetAttributeReference("type").Value.ToString()) as IExpression;
                if (null == expression)
                {
                    throw new InvalidOperationException("Token is not an IExpression");
                }
                expression.Make(expressionElement, expressionsManager);
                transitPoint.Expression = expression;
            }

            if (!valid)
            {
                transitPoint = null;
            }

            return(transitPoint);
        }
        private TransitPoint CreateTransitPoint(WebPartManager manager, IConfigurationElement element, IExpressionsManager expressionsManager)
        {
            bool valid = false;
            TransitPoint transitPoint = new TransitPoint();
            if (element.Attributes.ContainsKey("id"))
            {
                valid = true;
                transitPoint.Chronicler = (ReflectionServices.FindControlEx(element.GetAttributeReference("id").Value.ToString(), manager) as IChronicler);
            }
            if (element.Attributes.ContainsKey("member"))
            {
                transitPoint.Member = element.GetAttributeReference("member").Value.ToString();
            }
            if (element.Attributes.ContainsKey("value"))
            {
                valid = true;
                transitPoint.Value = element.GetAttributeReference("value").Value;
            }
            if (element.Elements.ContainsKey("expression"))
            {
                valid = true;

                IConfigurationElement expressionElement = element.GetElementReference("expression");
                IExpression expression = expressionsManager.Token(expressionElement.GetAttributeReference("type").Value.ToString()) as IExpression;
                if (null == expression) throw new InvalidOperationException("Token is not an IExpression");
                expression.Make(expressionElement, expressionsManager);
                transitPoint.Expression = expression;
            }

            if (!valid)
                transitPoint = null;

            return transitPoint;
        }
Exemple #5
0
        public override void Make(IConfigurationType config, IExpressionsManager manager)
        {
            if (null == manager) throw new ArgumentNullException("manager");
            if (null == config)throw new ArgumentNullException("config");
            IConfigurationElement element = config as IConfigurationElement;
            if (null == element) throw new ArgumentException("config must be an IConfigurationElement");

            if (element.Elements.ContainsKey("operands"))
            {
                foreach (IConfigurationElement operandElement in element.GetElementReference("operands").Elements.Values)
                {
                    string type = operandElement.GetAttributeReference("type").Value.ToString();
                    IToken token = manager.Token(type);
                    if (null == token) throw new InvalidOperationException(string.Format("Cannot make the type '{0}'", type));

                    token.Make(operandElement, manager);
                    this.Operands.Add(token);
                }
            }
        }