public async Task <IViewComponentResult> InvokeAsync(string jobId) { try { if (string.IsNullOrEmpty(jobId)) { return(View("Empty")); } // get log id from job var job = await _jobStore.GetJobInfoAsync(jobId); if (job == null || string.IsNullOrEmpty(job.LogId)) { return(View("Empty")); } var log = await _logStore.GetLogContentAsync(job.LogId); if (log == null) { return(View("Empty")); } var jhvm = new JobHistoryViewModel(job); ViewData["LogContents"] = log.Trim(); return(View("Default", jhvm)); } catch (Exception e) { return(View("Error", e)); } }
private async Task <List <JobHistoryViewModel> > GetRepoJobHistory(string selectedOwnerId, string selectedRepoId, string checkJobIds = "") { try { var jobs = await _jobStore.GetJobsForRepository(selectedOwnerId, selectedRepoId); var jobHistoriesHistoryViewModels = jobs.Select(j => new JobHistoryViewModel(j)).ToList(); if (!string.IsNullOrEmpty(checkJobIds)) { var currentJobIds = checkJobIds.Split(","); foreach (var cjid in currentJobIds) { //check current job has been loaded var currentJob = jobs.FirstOrDefault(j => j.JobId.Equals(cjid)); if (currentJob == null) { try { currentJob = await _jobStore.GetJobInfoAsync(cjid); var cjvm = new JobHistoryViewModel(currentJob); jobHistoriesHistoryViewModels.Add(cjvm); } catch (JobNotFoundException) { // do nothing except log Log.Warning($"Unable to load specific job ID '{cjid}' as it could not be found in the database."); } } } } return(jobHistoriesHistoryViewModels.OrderByDescending(j => j.QueuedAt).ToList()); } catch (JobNotFoundException) { return(new List <JobHistoryViewModel>()); } }