public async Task <ActionResult <TitleAndIdViewModel> > GetTemplateRelease(
     [Required] Guid publicationId)
 {
     return(await _releaseService
            .GetLatestPublishedRelease(publicationId)
            .HandleFailuresOrOk());
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 5
0
        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)
            });
        }