public async Task <ActionResult <IReadOnlyCollection <StageSweep> > > GetSweepsAsync( [FromRoute] Game game, [FromQuery][Required] bool untied, [FromQuery] DateTime?startDate, [FromQuery] DateTime?endDate) { var sweeps = await _statisticsProvider .GetSweepsAsync(game, untied, startDate, endDate, null) .ConfigureAwait(false); return(Ok(sweeps)); }
public async Task <IActionResult> GetSweepsAsync( [FromRoute] Game game, [FromQuery] bool untied, [FromQuery] int?stage) { return(await DoAndCatchAsync( SweepsViewName, "300 points / untied sweeps", async() => { if (stage.HasValue && (stage < 0 || stage > 20)) { return BadRequest(); } stage = stage.HasValue ? (game == Game.PerfectDark ? stage + 20 : stage) : null; var sweeps = await _statisticsProvider .GetSweepsAsync(game, untied, null, null, stage == null ? (Stage?)null : (Stage)stage.Value) .ConfigureAwait(false); return sweeps.OrderByDescending(s => s.Days).ToList(); }).ConfigureAwait(false)); }