示例#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);
 }
示例#2
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));
        }
示例#3
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);
 }
示例#4
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);
 }