private void SetAllowedParameter(CharactersAllowed charactersAllowed) { switch (charactersAllowed) { case Parameter.CharactersAllowed.Alpha: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_ALPHA; break; case Parameter.CharactersAllowed.UpperOnly: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_UPPER_ONLY; break; case Parameter.CharactersAllowed.LowerOnly: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_LOWER_ONLY; break; case Parameter.CharactersAllowed.UpperNumeric: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_UPPER_NUMERIC; break; case Parameter.CharactersAllowed.LowerNumeric: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_LOWER_NUMERIC; break; default: CharactersAllowed = RandomOrgConstants.CHARACTERS_ALLOWED_ALPHA_NUMERIC; break; } }
/// <summary> /// Build an instance of <see cref="StringParameters"/> /// </summary> /// <param name="numberOfItemsToReturn">How many random string values you need. Must be between 1 and 10,000.</param> /// <param name="length">The length of each string. Must be within the [1,20] range. All strings will be of the same length</param> /// <param name="charactersAllowed">Build of common character sets that are allowed to occur in the random strings</param> /// <param name="allowDuplicates">True if duplicate values are allowed in the random values, default to <c>true</c></param> /// <param name="verifyOriginator">Verify that the response is what was sent by random.org and it was not tampered with before receieved</param> /// <returns>Instance of <see cref="StringParameters"/></returns> public static StringParameters Create(int numberOfItemsToReturn, int length, CharactersAllowed charactersAllowed, bool allowDuplicates = true, bool verifyOriginator = false) { var parameters = new StringParameters(MethodType.String, verifyOriginator); parameters.SetAllowedParameter(charactersAllowed); parameters.SetParameters(numberOfItemsToReturn, length, allowDuplicates); return parameters; }
/// <summary> /// Retrieves a list of random blob values /// </summary> /// <param name="numberOfItemsToReturn">How many random string values you need. Must be between 1 and 10,000.</param> /// <param name="length">The length of each string. Must be within the [1,20] range. All strings will be of the same length</param> /// <param name="charactersAllowed">Build of common character sets that are allowed to occur in the random strings</param> /// <param name="allowDuplicates">True if duplicate values are allowed in the random values, default to <c>true</c></param> /// <returns>List of random blob values</returns> public virtual IEnumerable<string> GenerateStrings(int numberOfItemsToReturn, int length, CharactersAllowed charactersAllowed, bool allowDuplicates = true) { IParameters requestParameters = StringParameters.Create(numberOfItemsToReturn, length, charactersAllowed, allowDuplicates); IMethodCallBroker broker = new MethodCallBroker(RequestBuilder, RandomService, BeforeRequestCommandFactory, ResponseHandlerFactory); broker.Generate(requestParameters); return (ResponseParser.ResponseInfo as DataResponseInfo<string>)?.Data; }
/// <summary> /// Retrieve a list of random integer values as an asynchronous operation /// </summary> /// <param name="numberOfItemsToReturn">How many random string values you need. Must be between 1 and 10,000.</param> /// <param name="length">The length of each string. Must be within the [1,20] range. All strings will be of the same length</param> /// <param name="charactersAllowed">Create of common character sets that are allowed to occur in the random strings</param> /// <param name="allowDuplicates">True if duplicate values are allowed in the random values, default to <c>true</c></param> /// <returns>All information returned from random service, include the list of guassian values</returns> public async Task<DataResponseInfo<string>> GenerateStringsAsync(int numberOfItemsToReturn, int length, CharactersAllowed charactersAllowed, bool allowDuplicates = true) { var parameters = StringParameters.Create(numberOfItemsToReturn, length, charactersAllowed, allowDuplicates, _verifyOriginater); _verifyOriginater = false; var response = await _methodCallBroker.GenerateAsync(parameters); return response as DataResponseInfo<string>; }