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); }
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); }