Exemplo n.º 1
0
        public ActionResult <string> GetRandomString([FromQuery] GetStringParameters parameters)
        {
            var validationResult = _validator.Validate(parameters);

            if (validationResult.IsValid)
            {
                return(Ok(_stringGeneration.GenerateRandomString(parameters)));
            }
            return(BadRequest(validationResult.Errors));
        }
Exemplo n.º 2
0
        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));
        }