Beispiel #1
0
 protected ControllerNodeSet CreateExpression(string rootElement, params System.String[] attributes)
 {
     foreach (XPathNavigator node in _nodes)
     {
         ControllerNodeSet nodeSet  = new ControllerNodeSet(this, node);
         ControllerNodeSet rootNode = nodeSet.Select(rootElement);
         if (rootNode.Nodes.Count == 0)
         {
             Select(String.Format("<{0}/>", rootElement)).AppendTo(nodeSet);
             rootNode = nodeSet.Select(rootElement);
         }
         ControllerNodeSet expressionNode = nodeSet.Select("expression[1]");
         if (expressionNode.Nodes.Count == 0)
         {
             Select("<expression/>").AppendTo(rootNode);
             expressionNode = rootNode.Select("expression");
         }
         int i = 0;
         while (i < attributes.Length)
         {
             expressionNode.Attr(attributes[i], attributes[(i + 1)]);
             i = (i + 2);
         }
     }
     return(this);
 }
Beispiel #2
0
        public ControllerNodeSet CreateActionGroup(string id)
        {
            ControllerNodeSet actionGroupNode = new ControllerNodeSet(_navigator, _resolver).Select("<actionGroup/>").AppendTo("/dataController/actions").Select("/dataController/actions/actionGroup[last()]");

            if (!(String.IsNullOrEmpty(id)))
            {
                actionGroupNode.Attr(id);
            }
            return(actionGroupNode);
        }
Beispiel #3
0
 /// <summary>
 ///Appends a collection specified by the argument to each node in the node sets.
 ///</summary>
 ///<param name="nodeSet">The collection of child nodes.</param>
 ///<returns>The collection of child nodes after they were appended to the nodes in the original node set.</returns>
 public ControllerNodeSet AppendTo(ControllerNodeSet nodeSet)
 {
     foreach (XPathNavigator node in this._nodes)
     {
         foreach (XPathNavigator parentNode in nodeSet._nodes)
         {
             parentNode.AppendChild(node.OuterXml);
         }
     }
     return(nodeSet);
 }
Beispiel #4
0
        /// <summary>
        ///Create a new static item for this field.
        ///</summary>
        ///<param name="value">Value of the item stored in the database.</param>
        ///<param name="text">Text of the item presented to the user.</param>
        ///<returns>The node set containing the field.</returns>
        public ControllerNodeSet CreateItem(object value, string text)
        {
            ControllerNodeSet itemsNode = Select("items");

            if (itemsNode.Nodes.Count == 0)
            {
                Select("<items/>").AppendTo(this);
                itemsNode = Select("items").Attr("style", "DropDownList");
            }
            Select("<item/>").AppendTo(itemsNode).Select("item[last()]").Attr("value", value).Attr("text", text);
            return(this);
        }
Beispiel #5
0
 private ControllerNodeSet SetProperty(string name, object value, params System.String[] requiresElement)
 {
     foreach (XPathNavigator node in _nodes)
     {
         ControllerNodeSet nodeSet = new ControllerNodeSet(this, node);
         if (Array.IndexOf(requiresElement, node.Name) >= 0)
         {
             nodeSet.Elem(name, value);
         }
         else
         {
             nodeSet.Attr(name, value);
         }
     }
     return(this);
 }
Beispiel #6
0
        protected ControllerNodeSet SelectFieldItemsNode()
        {
            List <XPathNavigator> list = new List <XPathNavigator>();

            foreach (XPathNavigator node in _nodes)
            {
                ControllerNodeSet parentNode = new ControllerNodeSet(this, node);
                ControllerNodeSet itemsNode  = parentNode.Select("items");
                if (itemsNode.Nodes.Count == 0)
                {
                    parentNode.Select("<item/>").AppendTo(parentNode);
                    itemsNode = parentNode.Select("items");
                }
                list.AddRange(itemsNode.Nodes);
            }
            return(new ControllerNodeSet(this, list));
        }
Beispiel #7
0
        public ControllerNodeSet CreateAction(string commandName, string commandArgument, string id)
        {
            ControllerNodeSet actionNode = Select("<action/>").AppendTo(this).Select("action[last()]");

            if (!(String.IsNullOrEmpty(id)))
            {
                actionNode.Attr("id", id);
            }
            if (!(String.IsNullOrEmpty(commandName)))
            {
                actionNode.Attr("commandName", commandName);
            }
            if (!(String.IsNullOrEmpty(commandArgument)))
            {
                actionNode.Attr("commandArgument", commandArgument);
            }
            return(actionNode);
        }
Beispiel #8
0
        public ControllerNodeSet SelectDataFields(params System.String[] fieldNames)
        {
            List <XPathNavigator> list = new List <XPathNavigator>();

            foreach (XPathNavigator node in _nodes)
            {
                ControllerNodeSet nodeSet = new ControllerNodeSet(this, node);
                if (fieldNames.Length == 0)
                {
                    list.AddRange(nodeSet.SelectInContext("dataField", "dataField").Nodes);
                }
                else
                {
                    list.AddRange(nodeSet.SelectInContext("dataField", "dataField[@fieldName=$fieldName]", fieldNames).Nodes);
                }
            }
            return(new ControllerNodeSet(this, list));
        }
Beispiel #9
0
 public ControllerNodeSet CreateCategory(string id, string headerText)
 {
     foreach (XPathNavigator node in _nodes)
     {
         ControllerNodeSet parentNode     = new ControllerNodeSet(this, node);
         ControllerNodeSet categoriesNode = parentNode;
         if (node.Name != "categories")
         {
             categoriesNode = parentNode.Select("categories|ancestor::categories[1]");
             if (categoriesNode.Nodes.Count == 0)
             {
                 Select("<categories/>").AppendTo(parentNode);
                 categoriesNode = parentNode.Select("categories");
             }
         }
         return(Select("<category/>").AppendTo(categoriesNode).Select("category[last()]").Attr("id", id).Attr("headerText", headerText).Elem("dataFields", null));
     }
     return(this);
 }
Beispiel #10
0
 public ControllerNodeSet CreateDataField(string fieldName, string aliasFieldName)
 {
     foreach (XPathNavigator node in _nodes)
     {
         ControllerNodeSet parentNode     = new ControllerNodeSet(this, node);
         ControllerNodeSet dataFieldsNode = parentNode;
         if (node.Name != "dataFields")
         {
             dataFieldsNode = parentNode.Select("dataFields|ancestor::dataFields[1]");
             if (dataFieldsNode.Nodes.Count == 0)
             {
                 Select("<dataFields/>").AppendTo(parentNode);
                 dataFieldsNode = parentNode.Select("dataFields");
             }
         }
         ControllerNodeSet dataFieldNode = Select("<dataField/>").AppendTo(dataFieldsNode).Select("dataField[last()]").Attr("fieldName", fieldName);
         if (!(String.IsNullOrEmpty(aliasFieldName)))
         {
             dataFieldNode.Attr("aliasFieldName", aliasFieldName);
         }
         return(dataFieldNode);
     }
     return(this);
 }
Beispiel #11
0
 public ControllerNodeSet(ControllerNodeSet nodeSet, List <XPathNavigator> nodes)
 {
     this._navigator = nodeSet._navigator;
     this._resolver  = nodeSet._resolver;
     this._nodes     = nodes;
 }
Beispiel #12
0
 public ControllerNodeSet(ControllerNodeSet nodeSet, XPathNavigator node) :
     this(nodeSet, new List <XPathNavigator>())
 {
     _nodes.Add(node);
 }
Beispiel #13
0
 public ControllerNodeSet(ControllerNodeSet nodeSet) :
     this(nodeSet._navigator, nodeSet._resolver)
 {
 }