//最近の全体の提出記録を取得する関数 private submissionRecord[] GetSubmissionRecords() { var uri = new Uri("https://judgeapi.u-aizu.ac.jp/submission_records/recent"); var result = WebAccess.Get(uri); return(JsonConvert.DeserializeObject <submissionRecord[]>(result)); }
public AojProblem(string Id) { this.Id = Id; var sessionUri = new Uri("https://judgedat.u-aizu.ac.jp/testcases/samples/" + Id); var result = WebAccess.Get(sessionUri); sampleCases = JsonConvert.DeserializeObject <SampleCase[]>(result); }
public AojUser(string userId) { var sessionUri = new Uri("https://judgeapi.u-aizu.ac.jp/users/" + userId); var result = WebAccess.Get(sessionUri); var info = JsonConvert.DeserializeObject <AojUser>(result); //infoの中身をthisにコピーする foreach (var item in info.GetType().GetProperties()) { item.SetValue(this, item.GetValue(info)); } }
public void Login() { var uri = new Uri("https://judgeapi.u-aizu.ac.jp/session"); var userInfo = new { password = PassWord, id = Id }; var sessionUri = new Uri("https://judgeapi.u-aizu.ac.jp/session"); var result = WebAccess.JsonPost(sessionUri, userInfo); var info = JsonConvert.DeserializeObject <AojUser>(result); //infoの中身をthisにコピーする foreach (var item in info.GetType().GetProperties()) { item.SetValue(this, item.GetValue(info)); } }
//実際に提出しトークンを受け取る関数 private string GetSubmissionToken(string problemId, string language, string sourceCode) { try { var uri = new Uri("https://judgeapi.u-aizu.ac.jp/submissions"); var submitInfo = new { problemId, language, sourceCode }; var result = WebAccess.JsonPost(uri, submitInfo); var tokenInfo = JsonConvert.DeserializeObject <submissionToken>(result); return(tokenInfo.Token); } catch (Exception e) { throw new AojSubmitException("", e); } }
public List <string> GetSolvedProblems() { var sessionUri = new Uri("https://judgeapi.u-aizu.ac.jp/solutions/users/" + Id + "?size=1000000"); var result = WebAccess.Get(sessionUri); var info = JsonConvert.DeserializeObject <solution[]>(result); List <string> solvedProblems = new List <string>(); foreach (var i in info) { if (solvedProblems.Contains(i.ProblemId)) { continue; } solvedProblems.Add(i.ProblemId); } solvedProblems.Sort(); return(solvedProblems); }
public void Logout() { var uri = new Uri("https://judgeapi.u-aizu.ac.jp/session"); WebAccess.Delete(uri); }