コード例 #1
0
ファイル: Index.cshtml.cs プロジェクト: eXceediDeaL/StarOJ
        public async Task <IActionResult> OnPostQueryAsync()
        {
            try
            {
                HttpClient          httpclient = clientFactory.CreateClient();
                SubmissionsClient   client     = new SubmissionsClient(httpclient);
                ProgrammingLanguage?lang       = null;
                if (!string.IsNullOrEmpty(PostData.QueryLanguage))
                {
                    lang = Enum.Parse <ProgrammingLanguage>(PostData.QueryLanguage);
                }
                JudgeState?state = null;
                if (!string.IsNullOrEmpty(PostData.QueryJudgeState))
                {
                    state = Enum.Parse <JudgeState>(PostData.QueryJudgeState);
                }

                Core.Submissions.SubmissionMetadata[] ms = (await client.QueryAsync(PostData.Id, PostData.ProblemId, PostData.UserId, lang, state)).ToArray();
                List <SubmissionModel> ss = new List <SubmissionModel>();
                foreach (Core.Submissions.SubmissionMetadata v in ms)
                {
                    ss.Add(await SubmissionModel.GetAsync(v, httpclient));
                }
                Submissions = ss;
            }
            catch
            {
                Submissions = Array.Empty <SubmissionModel>();
            }
            return(Page());
        }