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(); }
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); }
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); }
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); }
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(); }
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(); }