private async Task FinishJob() { _logger.LogInformation("Completed {JobName}", JobName); _jobStatus = JobStage.Done; _itemStatus = new Dictionary <string, JobStage>(); await UpdateJobStatus(_jobStatus); }
private async Task <bool> BelongsToUser(JobStage jobStage) { var job = await _context.Jobs.Where(x => x.JobId == jobStage.JobId && x.UserId == userId).FirstOrDefaultAsync(); var stage = await _context.Stages.Where(x => x.StageId == jobStage.StageId && x.UserId == userId).FirstOrDefaultAsync(); return(!(job == null || stage == null)); }
private async Task UpdateAllItemsStatus(JobStage stage, IEnumerable <PinnedRepo> repos) { foreach (var repo in repos) { _itemStatus[repo.DatabaseId] = stage; } await UpdateJobStatus(stage); }
public async Task <JobStage> UpdateWorkHours(int id) { List <ScheduleEntry> entries = await _scheduleEntryService.GetByJobStageId(id, true); JobStage js = await GetById(id); js.WorkHours = entries.Count; return(await Update(js)); }
public async Task PushDeleteTagJobStatusUpdate(string uniqueKey, string tagId, JobStage jobStage) { await _hubContext.Clients.All.PushDeleteTagJobStatusUpdate( new DeleteTagJobStatus() { Item = tagId, JobStage = jobStage, UniqueKey = uniqueKey }); }
public async Task <JobStage> Update(JobStage jobStage) { if (!await BelongsToUser(jobStage)) { return(null); } _context.Entry(jobStage).State = EntityState.Modified; await _context.SaveChangesAsync(); return(jobStage); }
public async Task <JobStage> Create(JobStage jobStage) { if (!await BelongsToUser(jobStage)) { return(null); } jobStage.JobStageId = 0; _context.JobStages.Add(jobStage); await _context.SaveChangesAsync(); return(jobStage); }
public JobProgress(JobProgressType jobProgressType, JobStage jobStage, ProgressValue totalProgress, ProgressValue?stageProgress = null, IDownloadJob?downloadJob = null, SongTarget?songTarget = null, DownloadResult?downloadResult = null, TargetResult?targetResult = null) { JobProgressType = jobProgressType; JobStage = jobStage; StageProgress = stageProgress; TotalProgress = totalProgress; DownloadJob = downloadJob; SongTarget = songTarget; DownloadResult = downloadResult; TargetResult = targetResult; }
public async Task PushGithubRepoFetcherJobStatusUpdate( Dictionary <string, JobStage> itemStatus, JobStage jobStage ) { await _hubContext.Clients.All.PushGithubRepoFetcherJobStatusUpdate( new GithubRepoFetcherJobStatus { Item = itemStatus, JobStage = jobStage } ); }
public async Task <JobStage> UpdateJobHours(int id, int jobHours) { JobStage jobstage = new JobStage() { JobStageId = id, JobHours = jobHours }; _context.JobStages.Attach(jobstage); _context.Entry(jobstage).Property(js => js.JobHours).IsModified = true; await _context.SaveChangesAsync(); return(await GetById(id)); }
public MapTagJobStatus(string tagId, JobStage jobStage) { switch (jobStage) { case JobStage.None: break; case JobStage.PreparingDatabase: break; case JobStage.FetchingFromGithub: break; case JobStage.CountingTagged: break; case JobStage.UploadingToDatabase: break; case JobStage.InProgress: break; case JobStage.Done: break; case JobStage.Warning: break; case JobStage.Error: { JobStage = jobStage; Item = new TagResult { Data = new Tag { TagId = tagId }, Details = new ResultDetails { Message = $"There was a problem mapping {tagId}", ResultStatus = ResultStatus.Failure } }; } break; default: throw new ArgumentOutOfRangeException(nameof(jobStage), jobStage, null); } }
public async Task <JobStage> Delete(JobStage jobStage) { if (!await BelongsToUser(jobStage)) { return(null); } try { _context.JobStages.Remove(jobStage); await _context.SaveChangesAsync(); return(jobStage); } catch { return(null); } }
private void Update() { if (stage == JobStage.Open && hasTransitionedStageVisual == false) { // switch to open hasTransitionedStageVisual = true; concealmentImage.gameObject.SetActive(false); } else if (stage == JobStage.Closed && isWorkerOnItem) { // show graphic for working currentHealth -= healthWorkFactor * Time.deltaTime; UpdateHealthImage(); if (currentHealth <= 0) { isWorkerOnItem = false; stage = JobStage.Open; GameManager.Instance.ReleaseWorker(); } } // else nothing is happneing? }
private async Task UpdateItemStatus(JobStage stage, PinnedRepo pinnedRepo) { _itemStatus[pinnedRepo.DatabaseId] = stage; await _jobStatusNotifier.PushGithubRepoFetcherJobStatusUpdate(_itemStatus, _jobStatus); }
private async Task UpdateJobStatus(JobStage stage) { _jobStatus = stage; await _jobStatusNotifier.PushGithubRepoFetcherJobStatusUpdate(_itemStatus, _jobStatus); }
public async Task PushCalculateTagCountsJobStatusUpdate(JobStage jobStage) { await _hubContext.Clients.All.PushCalculateTagCountsJobStatusUpdate( new CalculateTagCountsJobStatus { JobStage = jobStage } ); }
public async Task PushRenameTagJobStatusUpdate(string uniqueKey, TagResult tagResult, JobStage jobStage) { await _hubContext.Clients.All.PushRenameTagJobStatusUpdate( new RenameTagJobStatus { UniqueKey = uniqueKey, Item = tagResult, JobStage = jobStage } ); }
private void DoTask(ISkyDoxUploadTask task, JobStage nextStage, bool saveStatus, CancellationToken token, string defaultErrorMessage) { if (!ShouldDoWork()) { return; } Exception exception = null; if (task != null) { try { token.ThrowIfCancellationRequested(); task.Run(); } catch (OperationCanceledException) { Caption = Resources.SkyDoxUploadJob_Stop_Paused; JobStatus = JobStatus.Paused; return; } catch (InvalidResponseException ex) { Logger.LogError(ex); exception = ex; } catch (WebException ex) { LogWebException(ex); Logger.LogError(ex); exception = ex; } catch( IOException ex) { Logger.LogError(ex); exception = ex; } catch (Exception ex) { JobStatus = JobStatus.Failed; Logger.LogError("Caught unhandled exception"); Logger.LogError(ex); throw; } if (!task.Succeeded) { _errors++; if (task.PendingUserActivation) { Caption = Resources.SkyDoxUploadJob_DoTask_Waiting_for_account_authentication__Please_check_your_email_; JobStatus = JobStatus.Authenticating; } else if (!task.ShouldRetry || _errors >= 3) { JobStatus = JobStatus.Failed; string message = !string.IsNullOrEmpty(task.ErrorMessage) ? task.ErrorMessage : defaultErrorMessage; HandleError(message, exception); } return; } } if (saveStatus) { _jobInfo.CurrentStage = nextStage; JobInfo.WriteJobInfo(_jobInfo, _jobXmlPath); JobInfo.WriteJobInfo(_jobInfo, _jobBackupXmlPath); } if (OnJobStageChanged != null) { OnJobStageChanged(this, EventArgs.Empty); } }
public static JobProgress CreateFromFault(JobProgressType progressType, JobStage jobStage, ProgressValue totalProgress) { return(new JobProgress(progressType, jobStage, totalProgress)); }