Beispiel #1
0
        /// <summary>
        /// Fill chieds
        /// </summary>
        /// <param name="collection">Form collection</param>
        /// <param name="level">Level in path</param>
        /// <param name="formKey">Form collection element key</param>
        /// <param name="path">Form collection element path</param>
        /// <param name="parentNode">Filling parent node</param>
        private static void FillCollection(FormCollection collection, int level, string formKey, string[] path, FormTreeCollection parentNode)
        {
            bool          isCollection = path.Length > level + 1;
            IFormTreeNode newNode      = null;

            if (isCollection)
            {
                var collectionName = path[level];
                if (!(parentNode.GetChield(collectionName) is FormTreeCollection currentNode))
                {
                    currentNode = new FormTreeCollection(collectionName, parentNode);
                    newNode     = currentNode;
                }
                FillCollection(collection, level + 1, formKey, path, currentNode);
            }
            else
            {
                var fieldName = GetFieldName(formKey);
                newNode = new FormTreeNode(fieldName, parentNode, collection[formKey]);
            }

            if (!(newNode is null))
            {
                parentNode.AddChild(newNode);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Initialize node collection
 /// </summary>
 /// <param name="key">Collection key</param>
 /// <param name="parent">Parent element for this collection</param>
 public FormTreeCollection(string key, IFormTreeNode parent)
 {
     Key    = key;
     Parent = parent;
 }
Beispiel #3
0
 public void OnBeforeSetPropertyValue(IFormTreeNode node, string propertyName, object value)
 {
     Console.WriteLine("Set value into property");
 }
Beispiel #4
0
 /// <summary>
 /// Initialze tree node
 /// </summary>
 /// <param name="key">Element key.</param>
 /// <param name="parent">Parent for this element.</param>
 /// <param name="value">Element value.</param>
 public FormTreeNode(string key, IFormTreeNode parent, string value)
 {
     Key    = key;
     Parent = parent;
     Value  = value;
 }