Exemplo n.º 1
0
        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));
        }