Example #1
0
        public async Task AddXQueueSubmission(XQueueWatcher watcher, string xQueueHeader, string courseId, Guid slideId, string code)
        {
            var submission = await userSolutionsRepo.AddUserExerciseSubmission(
                courseId, slideId, code, null, null, watcher.UserId,
                "uLearn", $"XQueue watcher {watcher.Name}"
                ).ConfigureAwait(false);

            db.XQueueExerciseSubmissions.Add(new XQueueExerciseSubmission
            {
                SubmissionId = submission.Id,
                WatcherId    = watcher.Id,
                XQueueHeader = xQueueHeader,
                IsResultSent = false,
            });

            await db.SaveChangesAsync().ConfigureAwait(false);
        }
Example #2
0
        public async Task AddXQueueSubmission(XQueueWatcher watcher, string xQueueHeader, string courseId, Guid slideId, string code)
        {
            var submissionId = await userSolutionsRepo.AddUserExerciseSubmission(
                courseId, slideId, code, null, null, watcher.UserId,
                "uLearn", $"XQueue watcher {watcher.Name}",
                Language.CSharp, null, true
                );

            await userSolutionsRepo.RunAutomaticChecking(submissionId, null, TimeSpan.FromSeconds(25), false, 0);

            db.XQueueExerciseSubmissions.Add(new XQueueExerciseSubmission
            {
                SubmissionId = submissionId,
                WatcherId    = watcher.Id,
                XQueueHeader = xQueueHeader,
                IsResultSent = false,
            });

            await db.SaveChangesAsync();
        }
Example #3
0
        public async Task AddXQueueWatcher(string name, string baseUrl, string queueName, string username, string password)
        {
            var user = new ApplicationUser {
                UserName = $"__xqueue_watcher_{new Guid().GetNormalizedGuid()}__"
            };
            var userPassword = StringUtils.GenerateSecureAlphanumericString(10);
            await userManager.CreateAsync(user, userPassword);

            var watcher = new XQueueWatcher
            {
                Name      = name,
                BaseUrl   = baseUrl,
                QueueName = queueName,
                UserName  = username,
                Password  = password,
                IsEnabled = true,
                User      = user,
            };

            db.XQueueWatchers.Add(watcher);

            await db.SaveChangesAsync();
        }
Example #4
0
 public Task <List <XQueueExerciseSubmission> > GetXQueueSubmissionsReadyToSentResults(XQueueWatcher watcher)
 {
     return(db.XQueueExerciseSubmissions
            .Include(s => s.Submission.AutomaticChecking)
            .Where(s => s.WatcherId == watcher.Id && !s.IsResultSent && s.Submission.AutomaticChecking.Status == AutomaticExerciseCheckingStatus.Done)
            .ToListAsync());
 }