Пример #1
0
        public ProcessItem(
            ILogger <ProcessItem> logger, CourseService courseService, LanguageService languageService,
            IdService idService, AppOptions appOptions, IHubContext <LiveHub> liveHub,
            CompareService compareService, MatlabServer matlabServer, EvaluationService evaluationService,
            CcData item)
        {
            _logger            = logger;
            _courseService     = courseService;
            _languageService   = languageService;
            _liveHub           = liveHub;
            _idService         = idService;
            _appOptions        = appOptions;
            _compareService    = compareService;
            _matlabServer      = matlabServer;
            _evaluationService = evaluationService;

            Item    = item;
            Context = new CourseContext(
                _courseService,
                _languageService,
                Item
                );

            _matlabServer.Initialize(ProcessService.ContainerName);

            var timeout = Context.CourseProblem.Timeout < 1 ? DefaultTimeoutPerCase : Context.CourseProblem.Timeout;

            TimeBank = new TimeBank(
                Context.Language,
                Item.Action == "input" ? IncreaseTimeoutForInput(timeout) : timeout
                );
            Item.Result.TimeLimit = TimeBank.TimeLeft;
        }
Пример #2
0
 public SubmitSolutionService(IDbService dBService, IdService idService, LanguageService languageService,
                              CourseService courseService, UserService userService, NotificationFlag notificationFlag,
                              ILogger <SubmitSolutionService> logger)
 {
     _dbService        = dBService;
     _idService        = idService;
     _languageService  = languageService;
     _courseService    = courseService;
     _userService      = userService;
     _logger           = logger;
     _notificationFlag = notificationFlag;
 }