public async Task <SlugValidationResult> ValidateUsername(Func <SlugValidationModel, bool> tryValidateModel, string?username) { if (username == null || !tryValidateModel(new SlugValidationModel(username))) { return(SlugValidationResult.Invalid(username ?? string.Empty)); } var exists = await _dbContext.Users .AnyAsync(x => x.NormalizedUserName == username.ToUpperInvariant()); return(exists ? SlugValidationResult.Unavailable(username) : SlugValidationResult.Success(username)); }
public async Task <SlugValidationResult> Validate(Func <SlugValidationModel, bool> tryValidateModel, string?slug, Guid userId) { if (slug == null || !tryValidateModel(new SlugValidationModel(slug))) { return(SlugValidationResult.Invalid(slug ?? string.Empty)); } var exists = await _dbContext.Builds .AnyAsync(x => x.NormalizedSlug == slug.ToUpperInvariant() && x.OwnerId == userId); return(exists ? SlugValidationResult.Unavailable(slug) : SlugValidationResult.Success(slug)); }