Added basis actionNumber, as the request and response from check, finish, cancel and ban is the same

master
Railz 5 years ago
parent ca886787ea
commit cb511b1215

@ -23,7 +23,13 @@ namespace YoutubeBot._5sim
this.token = token; this.token = token;
} }
/// <summary>
/// Get a given service
/// </summary>
/// <param name="service_name">Name of service (e.g. 'google')</param>
/// <param name="country">Country of service (Default is 'any')</param>
/// <param name="carrier">Carrier of service (Default is 'any')</param>
/// <returns></returns>
public Service getService(string service_name, string country = "any", string carrier = "any") public Service getService(string service_name, string country = "any", string carrier = "any")
{ {
String uri = $"guest/products/{country}/{carrier}"; String uri = $"guest/products/{country}/{carrier}";
@ -120,94 +126,26 @@ namespace YoutubeBot._5sim
throw new InvalidOperationException($"Invalid response: {response.StatusCode}"); throw new InvalidOperationException($"Invalid response: {response.StatusCode}");
} }
public Number checkNumber(int id) public Number checkNumber(int id)
{ {
String uri = $"user/check/{id}"; return actionNumber("check", id);
RestRequest request = new RestRequest(uri, Method.GET);
request.AddHeader("Authorization", $"Bearer {token}");
IRestResponse response = client.Execute(request);
// Client-error handling
Exception ex = response.ErrorException;
if (ex != null) throw ex;
// Check for expected errors and throw the corresponding exception of necessary
checkAndThrowException(response.StatusCode, response.Content);
if (response.StatusCode == HttpStatusCode.OK)
{
JObject activationNumber_json = (JObject)JsonConvert.DeserializeObject(response.Content);
Number activationNumber = activationNumber_json.ToObject<Number>();
activationNumber.carrier = (string)activationNumber_json["operator"];
return activationNumber;
}
else
throw new InvalidOperationException($"Invalid response: {response.StatusCode}");
} }
public Number finishNumber(int id) public Number finishNumber(int id)
{ {
String uri = $"user/finish/{id}"; return actionNumber("finish", id);
RestRequest request = new RestRequest(uri, Method.GET);
request.AddHeader("Authorization", $"Bearer {token}");
IRestResponse response = client.Execute(request);
// Client-error handling
Exception ex = response.ErrorException;
if (ex != null) throw ex;
// Check for expected errors and throw the corresponding exception of necessary
checkAndThrowException(response.StatusCode, response.Content);
if (response.StatusCode == HttpStatusCode.OK)
{
JObject activationNumber_json = (JObject)JsonConvert.DeserializeObject(response.Content);
Number activationNumber = activationNumber_json.ToObject<Number>();
activationNumber.carrier = (string)activationNumber_json["operator"];
return activationNumber;
}
else
throw new InvalidOperationException($"Invalid response: {response.StatusCode}");
} }
public Number cancelNumber(int id) public Number cancelNumber(int id)
{ {
String uri = $"user/cancel/{id}"; return actionNumber("cancel", id);
RestRequest request = new RestRequest(uri, Method.GET);
request.AddHeader("Authorization", $"Bearer {token}");
IRestResponse response = client.Execute(request);
// Client-error handling
Exception ex = response.ErrorException;
if (ex != null) throw ex;
// Check for expected errors and throw the corresponding exception of necessary
checkAndThrowException(response.StatusCode, response.Content);
if (response.StatusCode == HttpStatusCode.OK)
{
JObject activationNumber_json = (JObject)JsonConvert.DeserializeObject(response.Content);
Number activationNumber = activationNumber_json.ToObject<Number>();
activationNumber.carrier = (string)activationNumber_json["operator"];
return activationNumber;
} }
else public Number banNumber(int id)
throw new InvalidOperationException($"Invalid response: {response.StatusCode}"); {
return actionNumber("ban", id);
} }
public Number banNumber(int id) private Number actionNumber(string type, int id)
{ {
String uri = $"user/ban/{id}"; String uri = $"user/{type}/{id}";
RestRequest request = new RestRequest(uri, Method.GET); RestRequest request = new RestRequest(uri, Method.GET);
request.AddHeader("Authorization", $"Bearer {token}"); request.AddHeader("Authorization", $"Bearer {token}");
@ -234,8 +172,6 @@ namespace YoutubeBot._5sim
} }
// ---------- // ----------
private static void checkAndThrowException(HttpStatusCode statusCode, string content) private static void checkAndThrowException(HttpStatusCode statusCode, string content)

Loading…
Cancel
Save