RestSharp RestSharp Newtonsoft.Json 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(); } }