Example #1
0
        //最近の全体の提出記録を取得する関数
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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));
            }
        }
Example #5
0
 //実際に提出しトークンを受け取る関数
 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);
     }
 }
Example #6
0
        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);
        }
Example #7
0
        public void Logout()
        {
            var uri = new Uri("https://judgeapi.u-aizu.ac.jp/session");

            WebAccess.Delete(uri);
        }