public void SaveToCache(YnUser ynUser, int moduleId) { if (ynUser != null) { try { bool isSaveToCache = false; YnWebRight ynWebRight = new YnWebRight(); ynWebRight.moduleId = moduleId; if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId)) { isSaveToCache = true; ynWebRight.rightManage = true; ynWebRight.rightAdd = true; ynWebRight.rightEdit = true; ynWebRight.rightDelete = true; ynWebRight.rightVerify = true; } else { YnWebModuleUserLink ynWebModuleUserLink = YnWebModuleUserLinkService.GetInstance().Get(ynUser.userId, moduleId); if (ynWebModuleUserLink != null) { isSaveToCache = true; ynWebRight.rightManage = ynWebModuleUserLink.rightManage; ynWebRight.rightAdd = ynWebRight.rightManage || ynWebModuleUserLink.rightAdd; ynWebRight.rightEdit = ynWebRight.rightManage || ynWebModuleUserLink.rightEdit; ynWebRight.rightDelete = ynWebRight.rightManage || ynWebModuleUserLink.rightDelete; ynWebRight.rightVerify = ynWebModuleUserLink.rightVerify;// ynWebRight.rightManage || } string roleIds = GetRoleIds(ynUser.userId); if (!string.IsNullOrEmpty(roleIds)) { List <YnWebModuleRoleLink> listYnWebModuleRoleLink = YnWebModuleRoleLinkService.GetInstance().GetList(roleIds, moduleId); if (listYnWebModuleRoleLink != null && listYnWebModuleRoleLink.Count > 0) { isSaveToCache = true; foreach (YnWebModuleRoleLink ynWebModuleRoleLink in listYnWebModuleRoleLink) { ynWebRight.rightManage = ynWebModuleRoleLink.rightManage || ynWebRight.rightManage; ynWebRight.rightAdd = (ynWebRight.rightManage || ynWebModuleRoleLink.rightAdd) || ynWebRight.rightAdd; ynWebRight.rightEdit = (ynWebRight.rightManage || ynWebModuleRoleLink.rightEdit) || ynWebRight.rightEdit; ynWebRight.rightDelete = (ynWebRight.rightManage || ynWebModuleRoleLink.rightDelete) || ynWebRight.rightDelete; ynWebRight.rightVerify = (ynWebModuleRoleLink.rightVerify) || ynWebRight.rightVerify;//ynWebRight.rightManage || } } } } if (isSaveToCache) { //SaveToCache(ynUser.userId, ynWebRight, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration); SaveToCache(ynUser.userId + "_" + moduleId.ToString(), ynWebRight); } } catch (Exception ex) { throw ex; } } }
public List <YnWebModule> GetYnWebModuleListByRole(string roleIds) { List <YnWebModule> listYnWebModule = null; if (!string.IsNullOrEmpty(roleIds)) { try { List <YnWebModuleRoleLink> listYnWebModuleRoleLink = YnWebModuleRoleLinkService.GetInstance().GetListByRoles(roleIds); if (listYnWebModuleRoleLink != null && listYnWebModuleRoleLink.Count > 0) { listYnWebModule = listYnWebModuleRoleLink.Select <YnWebModuleRoleLink, YnWebModule>(P => P.ynWebModule).ToList(); } } catch (Exception ex) { throw ex; } } return(listYnWebModule); }