public async Task <IActionResult> GetBySorting([FromQuery] int sorting, [FromQuery] int?size = 10) { TestsOrder order; switch (sorting) { case 0: order = TestsOrder.Random; break; case 1: order = TestsOrder.Latest; break; case 2: order = TestsOrder.ByTitle; break; default: return(NotFound(new { Error = $"Sorting parameter has wrong value: {sorting}" })); } GetTestsQueryResult queryResult = await _queryDispatcher.DispatchAsync <GetTestsByParamQuery, GetTestsQueryResult>(new GetTestsByParamQuery { Param = order, Number = size ?? _defaultQuerySize }); return(new JsonResult(_converter.Convert(queryResult.Tests), JsonSettings)); }
public async Task <IActionResult> GetByKeyword([FromQuery] string keyword) { GetTestsQueryResult queryResult = await _queryDispatcher.DispatchAsync <GetTestsByKeywordQuery, GetTestsQueryResult>(new GetTestsByKeywordQuery { Keyword = keyword, Number = _defaultQuerySize }); return(new JsonResult(_converter.Convert(queryResult.Tests), JsonSettings)); }