74 lines
2.1 KiB
C#
74 lines
2.1 KiB
C#
<Query Kind="Program">
|
|
<NuGetReference>RestSharp</NuGetReference>
|
|
<Namespace>RestSharp</Namespace>
|
|
<Namespace>Newtonsoft.Json</Namespace>
|
|
</Query>
|
|
|
|
void Main()
|
|
{
|
|
Score(Severity.Critical, 5, 18).Dump();
|
|
ScoreAlt(Severity.Critical, 5, 18).Dump();
|
|
awardPoints("jchau", Severity.Critical, 5, 18);
|
|
Score(Severity.Major, 15, 5).Dump();
|
|
ScoreAlt(Severity.Major, 15, 5).Dump();
|
|
awardPoints("jchau", Severity.Major, 15, 5);
|
|
Score(Severity.Major, 15, 4).Dump();
|
|
awardPoints("jpollard", Severity.Major, 15, 4);
|
|
Score(Severity.Major, 10, 2).Dump();
|
|
awardPoints("aschey", Severity.Major, 10, 2);
|
|
Score(Severity.Major, 10).Dump();
|
|
awardPoints("tscanlan", Severity.Major, 10);
|
|
}
|
|
|
|
// Define other methods and classes here
|
|
|
|
public enum Severity
|
|
{
|
|
Info = 1,
|
|
Minor = 2,
|
|
Major = 5,
|
|
Critical = 7,
|
|
Blocker = 10
|
|
}
|
|
|
|
public int Score(Severity severity, int debt, int items = 1)
|
|
{
|
|
$"Math.Max(1, {debt} / 10 * {(int)severity}) * {items} items".Dump();
|
|
return Math.Max(1, debt / 10 * (int)severity) * items;
|
|
}
|
|
|
|
public int ScoreAlt(Severity severity, int debt, int items = 1)
|
|
{
|
|
$"Math.Max(1, {debt} * {(int)severity} / 10) * {items} items".Dump();
|
|
return Math.Max(1, debt * (int)severity / 10) * items;
|
|
}
|
|
|
|
public void awardPoints(string playerLogin, Severity severity, int debt, int items = 1)
|
|
{
|
|
string BaseUrl = @"https://api.quboo.io/score/generic";
|
|
RestClient client = new RestClient();
|
|
client.BaseUrl = new Uri(BaseUrl);
|
|
RestRequest request = new RestRequest();
|
|
request.Method = Method.PUT;
|
|
request.AddHeader("x-quboo-access-key", "FgtzhUSwAdsf4sGpM0kzXePP");
|
|
request.AddHeader("x-quboo-secret-key", "AwzF8dreEwkGemRS");
|
|
request.AddHeader("Content-Type", " application/json");
|
|
|
|
var qubooBody = new
|
|
{
|
|
playerLogin = playerLogin,
|
|
uniqueId = Guid.NewGuid(),
|
|
description = $"Resolving {items} {debt}min {severity} items",
|
|
score = Score(severity, debt, items)
|
|
};
|
|
request.AddJsonBody(qubooBody);
|
|
var result = client.Execute(request);
|
|
if (!result.IsSuccessful && result.ErrorMessage != null)
|
|
{
|
|
result.ErrorMessage.Dump();
|
|
}
|
|
else
|
|
{
|
|
JsonConvert.SerializeObject(JsonConvert.DeserializeObject(result.Content), Newtonsoft.Json.Formatting.Indented).Dump();
|
|
}
|
|
} |