public ActionResult Map([ModelBinder(typeof(JsonNetModelBinder))] IList <Grit.Tree.JsTree.JsTreeNode> tree) { var root = new JsTreeParser().Parse(Constants.TREE_NODE, tree); var clients = ClientService.GetClients(); var nodes = NodeService.GetNodes(); root.Each(x => { if (x.Elements != null) { var client = clients.SingleOrDefault(n => n.ClientId == x.Data); if (client != null) { client.Nodes = nodes.Where(n => x.Elements.Any(m => m == n.NodeId)).Select(n => n.NodeId).ToArray(); } } }); ClientService.SaveClientNodes(clients); foreach (var client in clients) { if (string.IsNullOrEmpty(client.Callback)) { continue; } Task.Factory.StartNew(() => { HttpClient httpClient = new HttpClient(); httpClient.GetAsync(client.Callback); }); } return(new JsonNetResult(clients)); }
public ActionResult Group([ModelBinder(typeof(JsonNetModelBinder))] IList <JsTreeNode> nodes) { var root = new JsTreeParser().Parse(Constants.TREE_NODE, nodes); TreeService.SaveTree(root); return(new JsonNetResult(nodes)); }
public ActionResult Map([ModelBinder(typeof(JsonNetModelBinder))] IList <JsTreeNode> nodes) { var root = new JsTreeParser().Parse(Constants.ROLE_TREE_ID, nodes); var roles = RBACService.GetRoles(); var permissions = RBACService.GetPermissions(); root.Each(x => { if (x.Elements != null) { var role = roles.SingleOrDefault(n => n.RoleId == x.Id); if (role != null) { var rolePermissions = permissions.Where(n => x.Elements.Any(m => m == n.PermissionId)); role.Add(rolePermissions); } } }); RBACWriteService.SaveRolePermissions(roles); return(new JsonNetResult(nodes)); }