public async Task <ActionResult <SlidePartial> > GetSlidePartial(string place, string presenter, string slug, int number, CancellationToken ct) { var show = await _data.Get(place, presenter, slug, ct).ConfigureAwait(false); if (show == null || show.HighestSlideShown.GetValueOrDefault() < number) { return(NotFound()); } var slidePartial = new SlidePartial { SlideImageUrl = $"/slides/{place}/{presenter}/{slug}/{number}" }; return(slidePartial); }
public async Task <IActionResult> GetSlidePartial(string presenter, string slug, int number) { var(show, slide) = await MultiTask.WhenAll(_shows.Get(presenter, slug), _shows.GetSlide(presenter, slug, number)); if (show == null || (slide == null || !slide.HasBeenShown)) { return(NotFound()); } var slidePartial = new SlidePartial { Layout = slide.Layout, Html = ProcessSlideHtml(slide.Html), Title = slide.Title }; return(Ok(slidePartial)); }