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