public void CreateRole(CreateRoleViewModel viewModel) { int RoleNum; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { RoleNum = ctx.GetRoleNum(); } //int? RoleNum = roleService.GetAll().Max(r => r.RoleNum) + 1; Role role = new Role() { MemberId = viewModel.RoleAndFeatureViewModel.FirstOrDefault().MemberId, RoleLock = false, Description = viewModel.RoleAndFeatureViewModel.FirstOrDefault().Description, RoleNum = RoleNum, isDeleted = false, }; roleService.Create(role); foreach (var roleAndFeature in viewModel.RoleAndFeatureViewModel) { RoleFeature feature = new RoleFeature() { isDeleted = false, RoleNum = RoleNum, ActionName = roleAndFeature.ActionName, ControllerName = roleAndFeature.ControllerName }; Create(feature); } }
public IQueryable <Feature> GetRestFeat(int id) { List <int> restFeat; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { restFeat = ctx.RoleFeature.Where(rf => rf.RoleId == id).Select(rf => rf.FeatureId).ToList(); } return(GetAll().Where(f => !restFeat.Contains(f.FeatureId))); }
public IQueryable <Role> GetRestRole(int id) { List <int> restRole; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { restRole = ctx.RoleMember.Where(rm => rm.MemberId == id).Select(rm => rm.RoleId).ToList(); } return(GetAll().Where(r => !restRole.Contains(r.RoleId))); }
//判斷會員有無此功能權限 public bool Accessible(int memberId, string ctrlName, string actName) { bool result; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { var roles = ctx.RoleMember.Where(rm => rm.MemberId == memberId).Select(rm => rm.RoleId); var features = ctx.RoleFeature.Where(rf => roles.Contains(rf.RoleId)).Select(rf => rf.FeatureId); result = ctx.Feature.Where(f => features.Contains(f.FeatureId)).Any(f => f.ControllerName == ctrlName && f.ActionName == actName); } return(result); }
public IQueryable <FeatureViewModel> GetRoleFeat(int id) { List <RoleFeature> roleFeat; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { roleFeat = ctx.RoleFeature.Where(rf => rf.RoleId == id).ToList(); } var result = roleFeat.Select(rf => new FeatureViewModel() { RoleFeat = rf, FeatName = Get(f => f.FeatureId == rf.FeatureId).FName }); return(result.AsQueryable()); }
public List <Feature> GetFeats(int?memberId) { List <Feature> feats = new List <Feature>(); if (memberId != null) { using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { var roles = ctx.RoleMember.Where(rm => rm.MemberId == memberId).Select(rm => rm.RoleId); var roleFeat = ctx.RoleFeature.Where(rf => roles.Contains(rf.RoleId)).Select(rf => rf.FeatureId); feats = ctx.Feature.Where(f => roleFeat.Contains(f.FeatureId)).ToList(); } return(feats); } return(feats); }
public IQueryable <RoleViewModel> GetRoleMember(int id) { //id = memberId List <RoleMember> roleMem; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { roleMem = ctx.RoleMember.Where(rm => rm.MemberId == id).ToList(); } var result = roleMem.Select(rm => new RoleViewModel() { RoleMem = rm, RoleName = Get(r => r.RoleId == rm.RoleId).RName }); return(result.AsQueryable()); }
public IQueryable <RoleAndFeatureViewModel> GetFeature(int?memberId) { List <GetRoleAndFeature_Result> rolesFromSp; using (IntelligenceCloudEntities ctx = new IntelligenceCloudEntities()) { rolesFromSp = ctx.GetRoleAndFeature(memberId).ToList(); } var role = rolesFromSp.Select(r => new RoleAndFeatureViewModel() { ActionName = r.ActionName, ControllerName = r.ControllerName, FeatureId = (int)r.FeatureId, RoleLock = r.RoleLock, Description = r.Description, MemberId = (int)r.MemberId, RoleNum = r.RoleNum }).Where(r => r.RoleLock == false).AsQueryable(); return(role); }