コード例 #1
0
        public async Task PublishMethodologyFilesIfApplicableForRelease(Guid releaseId)
        {
            var methodologies = await _methodologyService.GetLatestByRelease(releaseId);

            if (methodologies.Any())
            {
                // Publish the files of the latest methodologies of this release that
                // aren't already accessible but depended on this release being published,
                // since those methodologies will be published for the first time with this release
                var release = await _releaseService.Get(releaseId);

                var firstRelease = !await _publicationService.IsPublicationPublished(release.PublicationId);

                foreach (var methodology in methodologies)
                {
                    if (methodology.Approved)
                    {
                        // Include methodologies scheduled immediately that will now be accessible
                        // because this Publication's first release is being published
                        var firstReleaseAndMethodologyScheduledImmediately =
                            firstRelease &&
                            methodology.ScheduledForPublishingImmediately;

                        // Include methodologies scheduled to be published with this release
                        var methodologyScheduledWithThisRelease =
                            methodology.ScheduledForPublishingWithRelease &&
                            methodology.ScheduledWithReleaseId == releaseId;

                        if (firstReleaseAndMethodologyScheduledImmediately ||
                            methodologyScheduledWithThisRelease)
                        {
                            await PublishMethodologyFiles(methodology);
                        }
                    }
                }
            }
        }
コード例 #2
0
 public async Task <ActionResult <ReleaseViewModel> > GetLatestRelease(string publicationSlug)
 {
     return(await _releaseService.Get(publicationSlug)
            .HandleFailuresOrOk());
 }