Esempio n. 1
0
        public void SavePermission(string userId, List <string> permissions)
        {
            _basePermissionUserRepository.Delete(userId);
            var roleIdList        = _baseUserRoleMapRepository.Get().Where(x => x.UserId == userId).Select(x => x.RoleId).ToList();
            var existsPermissions = _basePermissionRoleRepository.Get()
                                    .Where(x => roleIdList.Contains(x.RoleId) && permissions.Contains(x.PermissionValue))
                                    .GroupBy(x => x.PermissionValue)
                                    .Select(x => x.Key)
                                    .ToList();

            permissions.RemoveAll(x => existsPermissions.Contains(x));

            List <Base_PermissionUser> insertList = new List <Base_PermissionUser>();

            permissions.ForEach(newPermission =>
            {
                insertList.Add(new Base_PermissionUser
                {
                    Id              = Guid.NewGuid().ToSequentialGuid(),
                    UserId          = userId,
                    PermissionValue = newPermission
                });
            });

            _basePermissionUserRepository.AddRange(insertList);
        }
Esempio n. 2
0
 public UserRoleCache(IBaseUserRoleMapRepository baseUserRoleMapRepository)
     : base("UserRoleCache", userId =>
 {
     var list = baseUserRoleMapRepository.Get()
                .Where(x => x.UserId == userId)
                .Select(x => x.RoleId)
                .ToList();
     return(list);
 })
 {
 }
Esempio n. 3
0
 public UserRoleCache()
     : base("UserRoleCache", userId =>
 {
     IBaseUserRoleMapRepository baseUserRoleMapRepository =
         Ioc.DefaultContainer.GetService <IBaseUserRoleMapRepository>();
     var list = baseUserRoleMapRepository.Get()
                .Where(x => x.UserId == userId)
                .Select(x => x.RoleId)
                .ToList();
     return(list);
 })
 {
 }