public ActionResult Create([Bind(Include = "Id,Text,ParentID")] TreeView treeView, int?id)
 {
     if (ModelState.IsValid)
     {
         db.Trees.Add(treeView);
         db.SaveChanges();
         if (id != null)
         {
             var tree = db.Trees.Find(id);
             if (tree != null)
             {
                 treeView.Parent = tree;
             }
             else
             {
                 treeView.Parent = null;
             }
         }
         else
         {
             treeView.Parent = null;
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ParentID = new SelectList(db.Trees, "Id", "Text", treeView.ParentID);
     return(View(treeView));
 }
        public TreeViewController(TreeViewContext context)
        {
            _context = context;

            if (_context.TreeNodes.Count() == 0)
            {
                _context.TreeNodes.AddRange(defaultTreeViewState);
                _context.SaveChanges();
            }
        }
        public IActionResult GetById(string id)
        {
            if (id == "0")
            {
                _context.RemoveRange(_context.TreeNodes);
                _context.SaveChanges();
                _context.TreeNodes.AddRange(defaultTreeViewState);
                _context.SaveChanges();

                return(new NoContentResult());
            }
            else
            {
                var foundNode = _context.TreeNodes.FirstOrDefault(n => n.Id == id);
                if (foundNode == null)
                {
                    return(NotFound());
                }

                return(new ObjectResult(foundNode));
            }
        }