public ActionDefinition(string text, bool showAsMenu, string icon, ActionDefinition parentNode)
            : this(text, null, null, null, null, parentNode, showAsMenu)
        {
            this.Icon = icon;

            if (parentNode != null)
            {
                this.ParentNode = parentNode;
                this.ParentNode_Id = parentNode.Id;
            }
        }
        public ActionDefinition(string text, string area,
            string action, string controller,
            string url, ActionDefinition parentNode = null,
            bool showAsMenu = false)
            : this()
        {
            this.Text = text;
            this.Area = area;
            this.Controller = controller;
            this.ActionName = action;
            this.ShowAsMenu = showAsMenu;
            this.Url = url;
            if (parentNode != null)
            {
                this.ParentNode = parentNode;
                this.ParentNode_Id = parentNode.Id;
            }

        }
 /// <summary>
 /// Initializes a new actions(that will show in menu by default, and under a node) instance of the <see cref="ActionDefinition"/> class.
 /// </summary>
 /// <param name="text">The text.</param>
 /// <param name="parentNode">The parent node.</param>
 /// <param name="showAsMenu">if set to <c>true</c> [show as menu].</param>
 public ActionDefinition(string text, ActionDefinition parentNode, bool showAsMenu = true, string icon = null)
     : this(text, showAsMenu, icon, parentNode)
 {
 }