public ActionResult RemoveParent(long id)
        {
            using (ResourceStructureManager rsManager = new ResourceStructureManager())
            {
                ResourceStructure resourceStructure = rsManager.GetResourceStructureById(id);
                resourceStructure.Parent = null;
                rsManager.Update(resourceStructure);

                return(RedirectToAction("Edit", new { id = resourceStructure.Id }));
            }
        }
        public ActionResult AddParent(long id, long parentId)
        {
            using (ResourceStructureManager rsManager = new ResourceStructureManager())
            {
                ResourceStructure parentResourceStructure = rsManager.GetResourceStructureById(parentId);
                ResourceStructure resourceStructure       = rsManager.GetResourceStructureById(id);

                resourceStructure.Parent = parentResourceStructure;
                rsManager.Update(resourceStructure);

                return(RedirectToAction("Edit", new { id = resourceStructure.Id }));
                // return View("_editResourceStructure", new ResourceStructureModel(resourceStructure));
            }
        }
        public ActionResult EditResourceStructure(ResourceStructureModel model)
        {
            using (ResourceStructureManager rsManager = new ResourceStructureManager())
            {
                //check name
                ResourceStructure temp = rsManager.GetResourceStructureByName(StringHelper.CutSpaces(model.Name));
                if (temp != null && temp.Id != model.Id)
                {
                    ModelState.AddModelError("NameExist", "Name already exist");
                }


                ResourceStructure rs = rsManager.GetResourceStructureById(model.Id);
                if (rs == null)
                {
                    ModelState.AddModelError("Errors", "ResourceStructure does not exist.");
                }

                if (rs.ResourceAttributeUsages.Select(a => a.ResourceStructureAttribute).ToList().Count() < 1)
                {
                    ModelState.AddModelError("Errors", "Resource Structure has no attributes.");
                }

                if (rs.Parent != null)
                {
                    if (rs.Parent.Id == rs.Id)
                    {
                        ModelState.AddModelError("Errors", "Parent resource structure can not be themselves.");
                    }
                }



                if (ModelState.IsValid)
                {
                    rs.Name        = model.Name;
                    rs.Description = model.Description;

                    rsManager.Update(rs);

                    return(RedirectToAction("ResourceStructure"));
                }
                else
                {
                    return(View("_editResourceStructure", model));
                }
            }
        }