private List <vmJsTree> FillFieldName(int id, string jsonFileName)
        {
            List <vmJsTree> lstVmJsTree     = null;
            string          contentRootPath = _hostingEnvironment.ContentRootPath;
            var             rootFilePath    = string.Concat(contentRootPath, "/", Settings.FeedJSONFilePath);

            // if (Session[$"JsonTreeDisableFoundKeys_{id}"] != null)
            //     lstVmJsTree = Session[$"JsonTreeDisableFoundKeys_{id}"] as List<vmJsTree>;
            // else if (!string.IsNullOrEmpty(jsonFileName))
            if (!string.IsNullOrEmpty(jsonFileName))
            {
                using (StreamReader r = new StreamReader(Path.Combine(rootFilePath, jsonFileName)))
                {
                    string json = r.ReadToEnd();
                    lstVmJsTree = JsonConvert.DeserializeObject <List <vmJsTree> >(json);
                }
            }
            if (lstVmJsTree != null)
            {
                for (int i = 0; i < lstVmJsTree.Count; i++)
                {
                    var vmJsTreeFinal = new vmJsTree();
                    FindNodeInTree(lstVmJsTree[i], "", vmJsTreeFinal, isDisableParentKeys: true);
                    lstVmJsTree[i] = vmJsTreeFinal;
                }
            }
            return(lstVmJsTree);
        }
        private void FindNodeInTree(vmJsTree jsTree, string text, vmJsTree jsTreeFinal, bool isDisableParentKeys = false)
        {
            if (jsTree != null)
            {
                if (string.IsNullOrEmpty(jsTreeFinal.Id))
                {
                    jsTreeFinal.Id           = jsTree.Id;
                    jsTreeFinal.Text         = jsTree.Text;
                    jsTreeFinal.Icon         = jsTree.Icon;
                    jsTreeFinal.LiAttributes = jsTree.LiAttributes;
                    jsTreeFinal.AAttributes  = jsTree.AAttributes;
                }

                jsTreeFinal.State = new vmJsTreeState();

                if (isDisableParentKeys && jsTree.Children != null && jsTree.Children.Count > 0)
                {
                    jsTreeFinal.State.Disabled = true;
                }
                if (!string.IsNullOrEmpty(text))
                {
                    var idParts = jsTree.Id.Split(new string[] { "||" }, StringSplitOptions.None);
                    if (idParts.Length > 0)
                    {
                        if (idParts[0] == text)
                        {
                            jsTreeFinal.State.Selected = true;
                            jsTreeFinal.State.Opened   = true;
                        }
                    }
                }
                if (jsTree.Children != null)
                {
                    jsTreeFinal.Children = new List <vmJsTree>();

                    for (int i = 0; i < jsTree.Children.Count; i++)
                    {
                        var jsTreeTemp = new vmJsTree();
                        jsTreeFinal.Children.Add(jsTreeTemp);
                        FindNodeInTree(jsTree.Children[i], text, jsTreeFinal.Children[i], isDisableParentKeys: isDisableParentKeys);
                    }
                }
            }
        }