public async Task <IActionResult> FetchVenue([FromRoute(Name = "venueId")] int venueId) { return(await venues.FetchFullVenue(venueId) .Ensure(v => v.HasValue, "Venue was found") .OnBoth(v => v.IsFailure ? StatusCode(404, "") : StatusCode(200, v.Value.Value)) .ConfigureAwait(false)); }