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()); } }