Пример #1
0
        public void AddPrivilege(List <Guid> menuids)
        {
            var admin = DC.Set <FrameworkRole>().Where(x => x.RoleCode == "001").SingleOrDefault();

            if (admin != null && SelectedRolesCodes.Contains(admin.RoleCode) == false)
            {
                SelectedRolesCodes.Add(admin.RoleCode);
            }
            foreach (var menuid in menuids)
            {
                if (SelectedRolesCodes != null)
                {
                    foreach (var code in SelectedRolesCodes)
                    {
                        FunctionPrivilege fp = new FunctionPrivilege();
                        fp.MenuItemId = menuid;
                        fp.RoleCode   = code;
                        fp.Allowed    = true;
                        DC.Set <FunctionPrivilege>().Add(fp);
                    }
                }
            }

            DC.SaveChanges();
        }
Пример #2
0
        public async Task <bool> DoChangeAsync()
        {
            var         all            = FC.Where(x => x.Key.StartsWith("menu_")).ToList();
            List <Guid> AllowedMenuIds = all.Where(x => x.Value.ToString() == "1").Select(x => Guid.Parse(x.Key.Replace("menu_", ""))).ToList();
            var         torem          = AllowedMenuIds.Distinct();
            var         oldIDs         = DC.Set <FunctionPrivilege>().Where(x => x.RoleCode == Entity.RoleCode).Select(x => x.ID).ToList();

            foreach (var oldid in oldIDs)
            {
                FunctionPrivilege fp = new FunctionPrivilege {
                    ID = oldid
                };
                DC.Set <FunctionPrivilege>().Attach(fp);
                DC.DeleteEntity(fp);
            }
            foreach (var menuid in AllowedMenuIds)
            {
                FunctionPrivilege fp = new FunctionPrivilege();
                fp.MenuItemId = menuid;
                fp.RoleCode   = Entity.RoleCode;
                fp.Allowed    = true;
                DC.Set <FunctionPrivilege>().Add(fp);
            }
            await DC.SaveChangesAsync();

            var userids = DC.Set <FrameworkUserRole>().Where(x => x.RoleCode == Entity.RoleCode).Select(x => x.UserCode).ToArray();
            await Wtm.RemoveUserCache(userids);

            return(true);
        }
Пример #3
0
        public bool DoChange()
        {
            var         all            = FC.Where(x => x.Key.StartsWith("menu_")).ToList();
            List <Guid> AllowedMenuIds = all.Where(x => x.Value.ToString() == "1").Select(x => Guid.Parse(x.Key.Replace("menu_", ""))).ToList();
            var         torem          = AllowedMenuIds.Distinct();
            var         oldIDs         = DC.Set <FunctionPrivilege>().Where(x => x.RoleId == Entity.ID).Select(x => x.ID).ToList();

            foreach (var oldid in oldIDs)
            {
                FunctionPrivilege fp = new FunctionPrivilege {
                    ID = oldid
                };
                DC.Set <FunctionPrivilege>().Attach(fp);
                DC.DeleteEntity(fp);
            }
            foreach (var menuid in AllowedMenuIds)
            {
                FunctionPrivilege fp = new FunctionPrivilege();
                fp.MenuItemId = menuid;
                fp.RoleId     = Entity.ID;
                fp.UserId     = null;
                fp.Allowed    = true;
                DC.Set <FunctionPrivilege>().Add(fp);
            }
            DC.SaveChanges();
            return(true);
        }
Пример #4
0
        public async Task <bool> DoChangeAsync()
        {
            List <Guid> AllowedMenuIds = new List <Guid>();
            var         torem          = AllowedMenuIds.Distinct();

            foreach (var page in Pages)
            {
                if (page.Actions != null)
                {
                    foreach (var action in page.Actions)
                    {
                        if (AllowedMenuIds.Contains(action) == false)
                        {
                            AllowedMenuIds.Add(action);
                        }
                    }
                }
            }

            var oldIDs = DC.Set <FunctionPrivilege>().Where(x => x.RoleId == Entity.ID).Select(x => x.ID).ToList();

            foreach (var oldid in oldIDs)
            {
                FunctionPrivilege fp = new FunctionPrivilege {
                    ID = oldid
                };
                DC.Set <FunctionPrivilege>().Attach(fp);
                DC.DeleteEntity(fp);
            }
            foreach (var menuid in AllowedMenuIds)
            {
                FunctionPrivilege fp = new FunctionPrivilege();
                fp.MenuItemId = menuid;
                fp.RoleId     = Entity.ID;
                fp.UserId     = null;
                fp.Allowed    = true;
                DC.Set <FunctionPrivilege>().Add(fp);
            }
            await DC.SaveChangesAsync();

            var userids = DC.Set <FrameworkUserRole>().Where(x => x.RoleId == Entity.ID).Select(x => x.UserId.ToString()).ToArray();
            await LoginUserInfo.RemoveUserCache(userids);

            return(true);
        }
        public bool DoChange()
        {
            List <Guid> AllowedMenuIds = new List <Guid>();
            var         torem          = AllowedMenuIds.Distinct();

            foreach (var page in Pages)
            {
                if (page.Actions != null)
                {
                    foreach (var action in page.Actions)
                    {
                        if (AllowedMenuIds.Contains(action) == false)
                        {
                            AllowedMenuIds.Add(action);
                        }
                    }
                }
            }

            var oldIDs = DC.Set <FunctionPrivilege>().Where(x => x.RoleId == Entity.ID).Select(x => x.ID).ToList();

            foreach (var oldid in oldIDs)
            {
                FunctionPrivilege fp = new FunctionPrivilege {
                    ID = oldid
                };
                DC.Set <FunctionPrivilege>().Attach(fp);
                DC.DeleteEntity(fp);
            }
            foreach (var menuid in AllowedMenuIds)
            {
                FunctionPrivilege fp = new FunctionPrivilege();
                fp.MenuItemId = menuid;
                fp.RoleId     = Entity.ID;
                fp.UserId     = null;
                fp.Allowed    = true;
                DC.Set <FunctionPrivilege>().Add(fp);
            }
            DC.SaveChanges();
            return(true);
        }
Пример #6
0
        public void AddPrivilege(List <Guid> menuids)
        {
            var oldIDs = DC.Set <FunctionPrivilege>().Where(x => menuids.Contains(x.MenuItemId)).Select(x => x.ID).ToList();
            var admin  = DC.Set <FrameworkRole>().Where(x => x.RoleCode == "001").SingleOrDefault();

            foreach (var oldid in oldIDs)
            {
                try
                {
                    FunctionPrivilege fp = new FunctionPrivilege {
                        ID = oldid
                    };
                    DC.Set <FunctionPrivilege>().Attach(fp);
                    DC.DeleteEntity(fp);
                }
                catch { }
            }
            if (admin != null && SelectedRolesIDs.Contains(admin.ID) == false)
            {
                SelectedRolesIDs.Add(admin.ID);
            }
            foreach (var menuid in menuids)
            {
                if (SelectedRolesIDs != null)
                {
                    foreach (var id in SelectedRolesIDs)
                    {
                        FunctionPrivilege fp = new FunctionPrivilege();
                        fp.MenuItemId = menuid;
                        fp.RoleId     = id;
                        fp.UserId     = null;
                        fp.Allowed    = true;
                        DC.Set <FunctionPrivilege>().Add(fp);
                    }
                }
            }

            DC.SaveChanges();
        }
Пример #7
0
        public void AddPrivilege(Guid menuid)
        {
            var oldIDs = DC.Set <FunctionPrivilege>().Where(x => x.MenuItemId == menuid).Select(x => x.ID).ToList();

            foreach (var oldid in oldIDs)
            {
                try
                {
                    FunctionPrivilege fp = new FunctionPrivilege {
                        ID = oldid
                    };
                    DC.Set <FunctionPrivilege>().Attach(fp);
                    DC.DeleteEntity(fp);
                }
                catch { }
            }
            if (SelectedRolesIDs != null)
            {
                foreach (var id in SelectedRolesIDs)
                {
                    FunctionPrivilege fp = new FunctionPrivilege();
                    fp.MenuItemId = menuid;
                    fp.RoleId     = id;
                    fp.UserId     = null;
                    fp.Allowed    = true;
                    DC.Set <FunctionPrivilege>().Add(fp);
                }
            }
            if (SelectedRolesID2 != null)
            {
                foreach (var id in SelectedRolesID2)
                {
                    FunctionPrivilege fp = new FunctionPrivilege();
                    fp.MenuItemId = menuid;
                    fp.RoleId     = id;
                    fp.UserId     = null;
                    fp.Allowed    = false;
                    DC.Set <FunctionPrivilege>().Add(fp);
                }
            }
            if (SelectedUsersID != null)
            {
                foreach (var id in SelectedUsersID)
                {
                    FunctionPrivilege fp = new FunctionPrivilege();
                    fp.MenuItemId = menuid;
                    fp.RoleId     = null;
                    fp.UserId     = id;
                    fp.Allowed    = true;
                    DC.Set <FunctionPrivilege>().Add(fp);
                }
            }
            if (SelectedUsersID2 != null)
            {
                foreach (var id in SelectedUsersID2)
                {
                    FunctionPrivilege fp = new FunctionPrivilege();
                    fp.MenuItemId = menuid;
                    fp.RoleId     = null;
                    fp.UserId     = id;
                    fp.Allowed    = false;
                    DC.Set <FunctionPrivilege>().Add(fp);
                }
            }
            DC.SaveChanges();
        }