From 3ddb38839ac07de4edf071faeb753b62acb0bed1 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Tue, 22 Oct 2019 20:49:52 +0800 Subject: ... --- Timeline/Services/UserService.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'Timeline/Services/UserService.cs') diff --git a/Timeline/Services/UserService.cs b/Timeline/Services/UserService.cs index aad4a806..45ef8a5c 100644 --- a/Timeline/Services/UserService.cs +++ b/Timeline/Services/UserService.cs @@ -140,16 +140,13 @@ namespace Timeline.Services private readonly UsernameValidator _usernameValidator; - private readonly IStringLocalizerFactory _localizerFactory; - - public UserService(ILogger logger, IMemoryCache memoryCache, IStringLocalizerFactory localizerFactory, DatabaseContext databaseContext, IJwtService jwtService, IPasswordService passwordService) + public UserService(ILogger logger, IMemoryCache memoryCache, DatabaseContext databaseContext, IJwtService jwtService, IPasswordService passwordService) { _logger = logger; _memoryCache = memoryCache; _databaseContext = databaseContext; _jwtService = jwtService; _passwordService = passwordService; - _localizerFactory = localizerFactory; _usernameValidator = new UsernameValidator(); } @@ -244,9 +241,10 @@ namespace Timeline.Services if (password == null) throw new ArgumentNullException(nameof(password)); - if (!_usernameValidator.Validate(username, _localizerFactory, out var message)) + var (result, messageGenerator) = _usernameValidator.Validate(username); + if (!result) { - throw new UsernameBadFormatException(username, message); + throw new UsernameBadFormatException(username, messageGenerator(null)); } var user = await _databaseContext.Users.Where(u => u.Name == username).SingleOrDefaultAsync(); @@ -353,8 +351,12 @@ namespace Timeline.Services if (string.IsNullOrEmpty(newUsername)) throw new ArgumentException("New username is null or empty", nameof(newUsername)); - if (!_usernameValidator.Validate(newUsername, _localizerFactory, out var message)) - throw new UsernameBadFormatException(newUsername, $"New username is of bad format. {message}"); + + var (result, messageGenerator) = _usernameValidator.Validate(newUsername); + if (!result) + { + throw new UsernameBadFormatException(newUsername, $"New username is of bad format. {messageGenerator(null)}"); + } var user = await _databaseContext.Users.Where(u => u.Name == oldUsername).SingleOrDefaultAsync(); if (user == null) -- cgit v1.2.3