private async Task <List <DataGuidanceSubjectViewModel> > ListSubjects( Release release, IEnumerable <Guid>?subjectIds = null) { var subjects = await _dataGuidanceSubjectService.GetSubjects(release.Id, subjectIds); if (subjects.IsLeft) { throw new ArgumentException($"Could not find subjects for release: {release.Id}"); } return(subjects.Right); }
private async Task <Either <ActionResult, DataGuidanceViewModel> > BuildViewModel(Release release) { var subjectIds = (await _fileRepository.ListDataFiles(release.Id)) .Where(f => f.SubjectId.HasValue) .Select(f => f.SubjectId.Value) .ToList(); return(await _dataGuidanceSubjectService.GetSubjects(release.Id, subjectIds) .OnSuccess(subjects => new DataGuidanceViewModel { Id = release.Id, Content = release.DataGuidance ?? "", Subjects = subjects })); }