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