コード例 #1
0
        private void GivenRemoteFriends(bool hasRemoteFriends)
        {
            _remoteFriends = new List <Friend>();

            if (hasRemoteFriends)
            {
                _remoteFriends = new FriendBuilder().CreateMany();
            }

            _plexApi.GetFriends(Arg.Any <string>()).Returns(_remoteFriends);
        }
コード例 #2
0
        public async Task <ValidationContext> Handle(SyncUsersCommand request, CancellationToken cancellationToken)
        {
            var result = new ValidationContext();

            var server = await _plexService.GetServer();

            if (server == null)
            {
                result.AddError("No admin server found", "Cannot sync users as no admin server has been found");
                return(result);
            }

            var remoteFriends = await _plexApi.GetFriends(server.AccessToken);

            var existingFriends = await _userService.GetAllUsers();

            DisableDeletedUsers(existingFriends, remoteFriends);

            await CreateNewUsers(remoteFriends);

            await _unitOfWork.CommitAsync();

            return(result);
        }