public async Task <ActionResult <IContentBlockViewModel> > AddContentBlock( Guid releaseId, Guid contentSectionId, ContentBlockAddRequest request) { return(await _contentService .AddContentBlock(releaseId, contentSectionId, request) .HandleFailuresOrOk()); }
public Task <Either <ActionResult, IContentBlockViewModel> > AddContentBlock( Guid methodologyVersionId, Guid contentSectionId, ContentBlockAddRequest request) { return(CheckContentSectionExists(methodologyVersionId, contentSectionId) .OnSuccess(CheckCanUpdateMethodology) .OnSuccess(EnsureContentBlockListNotNull) .OnSuccess(async tuple => { var(methodology, section) = tuple; var newContentBlock = CreateContentBlockForType(request.Type); return await AddContentBlockToContentSectionAndSave( request.Order, section, newContentBlock, methodology); })); }
public Task <Either <ActionResult, IContentBlockViewModel> > AddContentBlock(Guid releaseId, Guid contentSectionId, ContentBlockAddRequest request) { if (request.Type != ContentBlockType.HtmlBlock) { throw new ArgumentOutOfRangeException(nameof(request), "Cannot create type"); } return (CheckContentSectionExists(releaseId, contentSectionId) .OnSuccess(CheckCanUpdateRelease) .OnSuccess(async tuple => { var(_, section) = tuple; var newContentBlock = CreateContentBlockForType(request.Type); return await AddContentBlockToContentSectionAndSave(request.Order, section, newContentBlock); })); }