public async Task <IActionResult> GetList([FromQuery] string keyword = "", [FromQuery] List <string> routeIds = null, [FromQuery] List <int> levels = null, [FromQuery] string orderBy = "relevance", [FromQuery] Guid?shortlistUserId = null)
        {
            try
            {
                var queryResult = await _mediator.Send(new GetTrainingCoursesListQuery
                {
                    Keyword         = keyword,
                    RouteIds        = routeIds,
                    Levels          = levels,
                    OrderBy         = orderBy.Equals("relevance", StringComparison.CurrentCultureIgnoreCase) ? OrderBy.Score : OrderBy.Title,
                    ShortlistUserId = shortlistUserId
                });

                var model = new GetTrainingCoursesListResponse
                {
                    TrainingCourses    = queryResult.Courses.Select(response => (GetTrainingCourseListItem)response),
                    Sectors            = queryResult.Sectors.Select(response => (GetTrainingSectorsListItem)response),
                    Levels             = queryResult.Levels.Select(response => (GetTrainingLevelsListItem)response),
                    Total              = queryResult.Total,
                    TotalFiltered      = queryResult.TotalFiltered,
                    ShortlistItemCount = queryResult.ShortlistItemCount
                };

                return(Ok(model));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error attempting to get list of training courses");
                return(BadRequest());
            }
        }
        public async Task <IActionResult> GetList()
        {
            try
            {
                var queryResult = await _mediator.Send(new GetTrainingCoursesQuery());

                var model = new GetTrainingCoursesListResponse
                {
                    Standards = queryResult.Courses.Select(c => (GetTrainingCoursesListItem)c).ToList()
                };

                return(Ok(model));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error attempting to get list of training courses");
                return(BadRequest());
            }
        }