public async Task <ActionResult <IContentBlockViewModel> > AddContentBlock( Guid methodologyId, Guid contentSectionId, AddContentBlockRequest request) { return(await _contentService .AddContentBlockAsync(methodologyId, contentSectionId, request) .HandleFailuresOrOk()); }
public Task <Either <ActionResult, IContentBlockViewModel> > AddContentBlockAsync(Guid releaseId, Guid contentSectionId, AddContentBlockRequest 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 AddContentBlockToContentSectionAndSaveAsync(request.Order, section, newContentBlock); })); }
public Task <Either <ActionResult, IContentBlockViewModel> > AddContentBlockAsync(Guid methodologyId, Guid contentSectionId, AddContentBlockRequest request) { return(CheckContentSectionExists(methodologyId, contentSectionId) .OnSuccess(CheckCanUpdateMethodology) .OnSuccess(EnsureContentBlockListNotNull) .OnSuccess(async tuple => { var(methodology, section) = tuple; var newContentBlock = CreateContentBlockForType(request.Type); return await AddContentBlockToContentSectionAndSaveAsync( request.Order, section, newContentBlock, methodology); })); }