protected override QueryStringParametersList GetQueryStringParameters()
{
if (Input == null)
throw new ArgumentException("Input term must be provided.");
if (string.IsNullOrWhiteSpace(ApiKey))
throw new ArgumentException("ApiKey must be provided");
var parameters = base.GetQueryStringParameters();
parameters.Add("input", Input);
parameters.Add("key", ApiKey);
if (Offset.HasValue)
parameters.Add("offset", Offset.Value.ToString(CultureInfo.InvariantCulture));
if (Location != null)
parameters.Add("location", Location.ToString());
if (Radius.HasValue)
parameters.Add("radius", Radius.Value.ToString(CultureInfo.InvariantCulture));
if (!string.IsNullOrWhiteSpace(Language))
parameters.Add("language", Language);
if (!string.IsNullOrWhiteSpace(Types))
parameters.Add("types", Types);
if (!string.IsNullOrWhiteSpace(Components))
parameters.Add("components", Components);
return parameters;
}