private async Task <List <JobHistoryViewModel> > GetOwnerJobHistory(string selectedOwnerId, string currentJobId = "") { try { var jobs = await _jobStore.GetJobsForOwner(selectedOwnerId); var jobHistoriesHistoryViewModels = jobs.Select(j => new JobHistoryViewModel(j)).ToList(); return(jobHistoriesHistoryViewModels); } catch (JobNotFoundException) { return(new List <JobHistoryViewModel>()); } }
public async Task <IActionResult> Get(string ownerId, string repoId = "") { try { if (string.IsNullOrEmpty(ownerId)) { return(BadRequest("Missing argument: ownerId")); } try { // get jobs if (string.IsNullOrEmpty(repoId)) { //by owner var ownerJobs = await _jobStore.GetJobsForOwner(ownerId); return(new ObjectResult(ownerJobs)); } var repoJobs = await _jobStore.GetJobsForRepository(ownerId, repoId); return(new ObjectResult(repoJobs)); } catch (JobNotFoundException) { var empty = new List <JobInfo>(); return(new ObjectResult(empty)); } } catch (Exception ex) { Log.Error($"Error retrieving jobs for owner '{ownerId}' and repo '{repoId}' (optional)", ex); return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }