Пример #1
0
 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;
         }
     }
 }
Пример #2
0
        public List <YnWebModule> GetYnWebModuleListByUser(string userId)
        {
            List <YnWebModule> listYnWebModule = null;

            if (!string.IsNullOrEmpty(userId))
            {
                try
                {
                    List <YnWebModuleUserLink> listYnWebModuleUserLink = YnWebModuleUserLinkService.GetInstance().GetListByUser(userId);
                    if (listYnWebModuleUserLink != null && listYnWebModuleUserLink.Count > 0)
                    {
                        listYnWebModule = listYnWebModuleUserLink.Select <YnWebModuleUserLink, YnWebModule>(P => P.ynWebModule).ToList();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(listYnWebModule);
        }