Example #1
0
        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));
            }
        }
Example #2
0
        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>());
            }
        }