/// <summary> /// Initializes a new instance of the <see cref="TestsController"/> class. /// </summary> /// <param name="data">Open Judge System Database context for the control /// ler to work with</param> /// <param name="submissionsForProcessingData">ISubmissionsForProcessingDataService /// for the controller to work with the SubmissionsForProcessing table via a service</param> /// /// <param name="participantScoresData">IParticipantScoresDataService /// for the controller to work with the ParticipantScore table via a service</param> public TestsController( IOjsData data, ISubmissionsForProcessingDataService submissionsForProcessingData, IParticipantScoresDataService participantScoresData) : base(data) { this.submissionsForProcessingData = submissionsForProcessingData; this.participantScoresData = participantScoresData; }
public TempController( IOjsData data, IHangfireBackgroundJobService backgroundJobs, ISubmissionsForProcessingDataService submissionsForProcessingData, IContestsDataService contestsData) : base(data) { this.backgroundJobs = backgroundJobs; this.submissionsForProcessingData = submissionsForProcessingData; this.contestsData = contestsData; }
public ProblemsController( IOjsData data, ISubmissionsForProcessingDataService submissionsForProcessingData, IParticipantScoresDataService participantScoresData, IContestsDataService contestsData, IProblemsDataService problemsData) : base(data) { this.submissionsForProcessingData = submissionsForProcessingData; this.participantScoresData = participantScoresData; this.contestsData = contestsData; this.problemsData = problemsData; }
public OjsSubmissionProcessingStrategy( ISubmissionsDataService submissionsData, ITestRunsDataService testRunsData, IParticipantsDataService participantsData, IParticipantScoresDataService participantScoresData, ISubmissionsForProcessingDataService submissionsForProcessingData) { this.submissionsData = submissionsData; this.testRunsData = testRunsData; this.participantsData = participantsData; this.participantScoresData = participantScoresData; this.submissionsForProcessingData = submissionsForProcessingData; }
public SubmissionsController( IOjsData data, ISubmissionsForProcessingDataService submissionsForProcessingData, IParticipantScoresBusinessService participantScoresBusiness, IParticipantScoresDataService participantScoresData, IParticipantsDataService participantsData, ITestRunsDataService testRunsData) : base(data) { this.submissionsForProcessingData = submissionsForProcessingData; this.participantScoresBusiness = participantScoresBusiness; this.participantScoresData = participantScoresData; this.participantsData = participantsData; this.testRunsData = testRunsData; }
public CompeteController( IOjsData data, ISubmissionsForProcessingDataService submissionsForProcessingData, IParticipantsBusinessService participantsBusiness, IParticipantsDataService participantsData, IContestsBusinessService contestsBusiness, IContestsDataService contestsData, IProblemsDataService problemsData) : base(data) { this.submissionsForProcessingData = submissionsForProcessingData; this.participantsBusiness = participantsBusiness; this.participantsData = participantsData; this.contestsBusiness = contestsBusiness; this.contestsData = contestsData; this.problemsData = problemsData; }
public ProblemsBusinessService( IEfDeletableEntityRepository <Problem> problems, IContestsDataService contestsData, IParticipantScoresDataService participantScoresData, IProblemsDataService problemsData, IProblemResourcesDataService problemResourcesData, ISubmissionsDataService submissionsData, ISubmissionsForProcessingDataService submissionsForProcessingData, ITestRunsDataService testRunsData, ISubmissionTypesDataService submissionTypesData, IProblemGroupsBusinessService problemGroupsBusiness) { this.problems = problems; this.contestsData = contestsData; this.participantScoresData = participantScoresData; this.problemsData = problemsData; this.problemResourcesData = problemResourcesData; this.submissionsData = submissionsData; this.submissionsForProcessingData = submissionsForProcessingData; this.testRunsData = testRunsData; this.submissionTypesData = submissionTypesData; this.problemGroupsBusiness = problemGroupsBusiness; }
private void BeginProcessingSubmission( Submission submission, SubmissionForProcessing submissionForProcessing, IOjsData data, ISubmissionsForProcessingDataService submissionsForProccessingData, IParticipantScoresDataService participantScoresData) { submission.ProcessingComment = null; try { data.TestRuns.DeleteBySubmissionId(submission.Id); this.ProcessSubmission(submission); data.SaveChanges(); } catch (Exception exception) { this.logger.ErrorFormat("ProcessSubmission on submission №{0} has thrown an exception: {1}", submission.Id, exception); submission.ProcessingComment = $"Exception in ProcessSubmission: {exception.Message}"; } try { this.CalculatePointsForSubmission(submission); } catch (Exception exception) { this.logger.ErrorFormat("CalculatePointsForSubmission on submission №{0} has thrown an exception: {1}", submission.Id, exception); submission.ProcessingComment = $"Exception in CalculatePointsForSubmission: {exception.Message}"; } submission.Processed = true; submissionsForProccessingData.SetToProcessed(submissionForProcessing.Id); try { participantScoresData.SaveBySubmission(submission); } catch (Exception exception) { this.logger.ErrorFormat("SaveParticipantScore on submission №{0} has thrown an exception: {1}", submission.Id, exception); submission.ProcessingComment = $"Exception in SaveParticipantScore: {exception.Message}"; } try { submission.CacheTestRuns(); } catch (Exception exception) { this.logger.ErrorFormat("CacheTestRuns on submission №{0} has thrown an exception: {1}", submission.Id, exception); submission.ProcessingComment = $"Exception in CacheTestRuns: {exception.Message}"; } try { data.SaveChanges(); } catch (Exception exception) { this.logger.ErrorFormat("Unable to save changes to the submission №{0}! Exception: {1}", submission.Id, exception); } this.logger.InfoFormat("Submission №{0} successfully processed", submission.Id); }
public SubmissionsForProcessingBusinessService( ISubmissionsForProcessingDataService submissionsForProcessingData) { this.submissionsForProcessingData = submissionsForProcessingData; }