예제 #1
0
파일: UserService.cs 프로젝트: del77/wiki
        public async Task UpdatePermissions(int userId, IEnumerable <int> permissions)
        {
            var user = await userRepository.GetAsync(userId);

            if (user == null)
            {
                throw new Exception("user doesn't exist");
            }
            var permissionsInfo = await permissionRepository.GetAllAsync();

            var tasks = new List <Task>();

            foreach (var permission in permissionsInfo)
            {
                tasks.Add(userPermissionRepository.RemoveAsync(permission.Id, userId));
            }
            await Task.WhenAll(tasks);

            tasks.Clear();
            foreach (var permission in permissions)
            {
                UserPermission up = new UserPermission(permission, userId);
                tasks.Add(userPermissionRepository.AddAsync(up));
            }
            await Task.WhenAll(tasks);
        }
예제 #2
0
 public async Task <ActionResponse> AddPermissions(List <Permission> permissions)
 {
     return(await _repository.AddAsync(permissions));
 }