// Execution ValheimPermissions.ValheimDB.AddGroupPermission(GROUP_NAME, PERMISSION_NODE) // Results: Will return "false group" if the group does not exist // Or: Will return "false exists" if the permission already exists // Or: WIll return "true" if the add was successful // NOTE: Results will be returned to you in STRING format as described above. public static string AddGroupPermission(string group, string permission) { permission = permission.ToLower(); using (var db = new LiteDatabase(DatabaseLocation)) { var groups = db.GetCollection <Group>("Group"); var permissions = db.GetCollection <Group_Permission>("Group_Permission"); var _permission = new Group_Permission { Group_Name = group, permission = permission }; var gexists = groups.FindOne(Query.EQ("Group_Name", group)); if (gexists == null) { return("false group"); } var pexists = permissions.FindOne(Query.And(Query.EQ("Group_Name", group), Query.EQ("permission", permission))); if (pexists != null) { return($"false exists"); } permissions.Insert(_permission); return("true"); } }
public JsonResult Save_Group(List <string> role_id, string usergroupid, List <string> role_id_uncheck) { List <NguoiDung> lnd = db.NguoiDung.Where(n => n.UserGroupID == usergroupid).ToList(); List <Group_Permission> lst = db.Group_Permission.Where(n => n.UserGroupID == usergroupid).ToList(); foreach (var i in role_id) { if (!lst.Any(n => n.RoleID.Contains(i))) { Group_Permission p = new Group_Permission(); p.UserGroupID = usergroupid; p.RoleID = i; db.Group_Permission.Add(p); foreach (var nd in lnd) { List <User_Permission> lpu = db.User_Permission.Where(n => n.UserName == nd.UserName).ToList(); if (!lpu.Any(n => n.RoleID.Contains(i))) { User_Permission pu = new User_Permission(); pu.RoleID = i; pu.UserName = nd.UserName; db.User_Permission.Add(pu); } } } } db.SaveChanges(); if (role_id_uncheck != null) { foreach (var j in role_id_uncheck) { if (lst.Any(n => n.RoleID.Contains(j))) { Group_Permission per = db.Group_Permission.Single(n => n.RoleID == j && n.UserGroupID == usergroupid); foreach (var nd in lnd) { List <User_Permission> lperu = db.User_Permission.Where(n => n.UserName == nd.UserName && n.RoleID == j).ToList(); foreach (var peru in lperu) { db.User_Permission.Remove(peru); } } db.Group_Permission.Remove(per); db.SaveChanges(); } } } return(Json("ok", JsonRequestBehavior.AllowGet)); }
public void UpdatePermissionGroup(string lstRoleSelected, int groupId) { string[] arrRole = lstRoleSelected.Split('*'); IEnumerable <Group_Permission> lstGroupPermission = db.Group_Permission.Where(x => x.GroupId == groupId); db.Group_Permission.RemoveRange(lstGroupPermission); db.SaveChanges(); for (int i = 0; i < arrRole.Length; i++) { if (arrRole[i].Length > 0) { Group_Permission gp = new Group_Permission(); gp.GroupId = groupId; gp.RoleId = arrRole[i]; db.Group_Permission.Add(gp); } } db.SaveChanges(); }