Exemple #1
0
        public async Task <string> UploadOj(OjQuestion question, OjTestCaseTable ojTestCaseTable)
        {
            question.Id          = daoUtils.GUID();
            ojTestCaseTable.OjId = question.Id;
            await using var tx   = await dbContext.Database.BeginTransactionAsync();

            var count = await dbContext.OjQuestions.CountAsync();

            question.OrderId = count + 1;
            await dbContext.OjQuestions.AddAsync(question);

            await dbContext.SaveChangesAsync();

            ojTestCaseTable.OjId = question.Id;
            await dbContext.OjTestCaseTables.AddAsync(ojTestCaseTable);

            await dbContext.SaveChangesAsync();

            await tx.CommitAsync();

            return(question.Id);
        }
Exemple #2
0
        public async Task <bool> UploadOj(OjTestCaseSet ojTestCaseSet)
        {
            if (!ojTestCaseSet.IsValidTestSet())
            {
                return(false);
            }

            var question = new OjQuestion
            {
                Content    = ojTestCaseSet.Content,
                CreateTime = DateTime.Now,
                Difficulty = ojTestCaseSet.Difficulty,
                Title      = ojTestCaseSet.Title,
                Code       = ojTestCaseSet.OjCode
            };
            var testCaseTable = new OjTestCaseTable
            {
                TestCaseSetJson = JsonConvert.SerializeObject(ojTestCaseSet)
            };
            await ojDao.UploadOj(question, testCaseTable);

            return(true);
        }