public async Task <ActionResult <TitleAndIdViewModel> > GetTemplateRelease( [Required] Guid publicationId) { return(await _releaseService .GetLatestPublishedRelease(publicationId) .HandleFailuresOrOk()); }
public async Task <Either <ActionResult, PermalinkViewModel> > CreateAsync(CreatePermalinkRequest request) { var publicationId = _subjectService.GetPublicationForSubject(request.Query.SubjectId).Result.Id; var release = _releaseService.GetLatestPublishedRelease(publicationId); if (release == null) { return(new NotFoundResult()); } return(await CreateAsync(release.Id, request)); }
public async Task <Either <ActionResult, TableBuilderResultViewModel> > Query(ObservationQueryContext queryContext) { var publication = await _subjectService.GetPublicationForSubject(queryContext.SubjectId); var release = _releaseService.GetLatestPublishedRelease(publication.Id); if (release == null) { return(new NotFoundResult()); } return(await Query(release, queryContext)); }
public async Task <bool> IsSubjectForLatestPublishedRelease(Guid subjectId) { var publication = await GetPublicationForSubject(subjectId); var latestRelease = _releaseService.GetLatestPublishedRelease(publication.Id); if (latestRelease == null) { return(false); } return(_context .ReleaseSubject .Any(r => r.ReleaseId == latestRelease.Id && r.SubjectId == subjectId)); }
public async Task <Either <ActionResult, PublicationSubjectsMetaViewModel> > GetSubjectsForLatestRelease( Guid publicationId) { var release = _releaseService.GetLatestPublishedRelease(publicationId); if (release == null) { return(new NotFoundResult()); } return(new PublicationSubjectsMetaViewModel { PublicationId = publicationId, Highlights = await GetHighlights(release.Id), Subjects = await GetSubjects(release.Id) }); }