コード例 #1
0
 // 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");
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        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();
        }