Beispiel #1
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));
        }
Beispiel #2
0
 public async Task <Either <ActionResult, PermalinkViewModel> > CreateAsync(Guid releaseId,
                                                                            CreatePermalinkRequest request)
 {
     return(await _tableBuilderService.Query(releaseId, request.Query).OnSuccess(async result =>
     {
         var permalink = new Permalink(request.Configuration, result, request.Query);
         await _blobStorageService.UploadText(containerName: PublicPermalinkContainerName,
                                              path: permalink.Id.ToString(),
                                              content: JsonConvert.SerializeObject(permalink),
                                              contentType: MediaTypeNames.Application.Json);
         return await BuildViewModel(permalink);
     }));
 }