Esempio n. 1
0
        /// <summary>
        /// 使用者本身的權限
        /// </summary>
        public UserActDomain GetSelfAct(int userId)
        {
            UserInfo data = _dc.UserInfo.FirstOrDefault(x => x.UserId == userId);

            Checker.Has(data, "帳號不存在!");

            IList <string> roleAct = _dc.UserInfo
                                     .Where(x => x.UserId == userId)
                                     .SelectMany(x => x.UserRole.Select(y => y.RoleInfo.AllowActList))
                                     .AsEnumerable()
                                     .SelectMany(x => OrionUtils.ToIdsList <string>(x))
                                     .Distinct()
                                     .ToList();

            IList <string> allowActList = OrionUtils.ToIdsList <string>(data.AllowActList);
            IList <string> denyActList  = OrionUtils.ToIdsList <string>(data.DenyActList);

            var domain = new UserActDomain
            {
                UserId       = data.UserId,
                CreateBy     = data.ModifyBy,
                CreateDate   = data.CreateDate,
                ModifyBy     = data.ModifyBy,
                ModifyDate   = data.ModifyDate,
                RoleActList  = roleAct,
                AllowActList = allowActList,
                DenyActList  = denyActList,
            };

            return(domain);
        }
Esempio n. 2
0
 private RoleDomain toDomain(RoleInfo data)
 {
     return(new RoleDomain
     {
         RoleId = data.RoleId,
         RoleName = data.RoleName,
         AllowActList = OrionUtils.ToIdsList <string>(data.AllowActList),
         RemarkText = data.RemarkText,
         Status = data.Status.ToEnum <UseStatus>(),
         UserIds = data.UserRole.Select(x => x.UserId).ToList(),
         CreateBy = data.CreateBy,
         CreateDate = data.CreateDate,
         ModifyBy = data.ModifyBy,
         ModifyDate = data.ModifyDate,
     });
 }
Esempio n. 3
0
        public void ToIdsList_IntTest(string value, int length)
        {
            var list = OrionUtils.ToIdsList <int>(value);

            Assert.Equal(list.Count, length);
        }