public ActionResult <string> GetRandomString([FromQuery] GetStringParameters parameters) { var validationResult = _validator.Validate(parameters); if (validationResult.IsValid) { return(Ok(_stringGeneration.GenerateRandomString(parameters))); } return(BadRequest(validationResult.Errors)); }
public string GenerateRandomString(GetStringParameters parameters) { var validationResult = _validator.Validate(parameters); if (!validationResult.IsValid) { throw new InvalidParametersException(validationResult.Errors); } var length = _randomGenerator.Next(parameters.MinLength, parameters.MaxLength); var result = new string(Enumerable.Range(0, length).Select(x => GetRandomChar(parameters.AllowedCharacters)).ToArray()); return(result .FormatTo(parameters.Format) .EncodeTo(parameters.Encoding)); }