public async Task ProcessResult(ULearnDb db, UserExerciseSubmission submission, RunningResults result) { if (!isEnabled) { return; } if (result.Verdict != Verdict.Ok) { return; } /* Send to antiplagiarism service only accepted submissions */ var checking = submission.AutomaticChecking; if (!checking.IsRightAnswer) { return; } var parameters = new AddSubmissionParameters { TaskId = submission.SlideId, Language = AntiPlagiarism.Api.Models.Language.CSharp, Code = submission.SolutionCode.Text, AuthorId = Guid.Parse(submission.UserId), AdditionalInfo = new AntiPlagiarismAdditionalInfo { SubmissionId = submission.Id }.ToJsonString(), }; antiPlagiarismClient.AddSubmissionAsync(parameters).ConfigureAwait(false).GetAwaiter().OnCompleted(() => { }); }
public async Task ProcessResult(UserExerciseSubmission submission, RunningResults result) { if (!isEnabled) { return; } if (result.Verdict != Verdict.Ok) { return; } /* Send to antiplagiarism service only accepted submissions */ var checking = submission.AutomaticChecking; if (!checking.IsRightAnswer) { return; } var parameters = new AddSubmissionParameters { TaskId = submission.SlideId, Language = submission.Language, Code = submission.SolutionCode.Text, AuthorId = Guid.Parse(submission.UserId), AdditionalInfo = JsonConvert.SerializeObject(new AntiPlagiarismAdditionalInfo { SubmissionId = submission.Id }), ClientSubmissionId = submission.Id.ToString() }; await antiPlagiarismClient.AddSubmissionAsync(parameters).ConfigureAwait(false); }
public async Task ProcessResult(ULearnDb db, UserExerciseSubmission submission, RunningResults result) { if (!isEnabled) { return; } if (result.Verdict != Verdict.Ok) { return; } /* Send to antiplagiarism service only accepted submissions */ var checking = submission.AutomaticChecking; if (!checking.IsRightAnswer) { return; } var parameters = new AddSubmissionParameters { TaskId = submission.SlideId, Language = AntiPlagiarism.Api.Models.Language.CSharp, Code = submission.SolutionCode.Text, AuthorId = Guid.Parse(submission.UserId), AdditionalInfo = new AntiPlagiarismAdditionalInfo { SubmissionId = submission.Id }.ToJsonString(), }; var antiPlagiarismResult = await antiPlagiarismClient.AddSubmissionAsync(parameters).ConfigureAwait(false); log.Info($"Получил ответ от сервиса антиплагиата: {antiPlagiarismResult}"); var userSolutionsRepo = new UserSolutionsRepo(db, WebCourseManager.Instance); await userSolutionsRepo.SetAntiPlagiarismSubmissionId(submission, antiPlagiarismResult.SubmissionId).ConfigureAwait(false); }