public IHttpActionResult Get(int?filterId = null, string sortBy = null, string sortOrder = null) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } #endregion try { logger.Info($"TasksController Get: {filterId}, sortBy: {sortBy}, sortOrder: {sortOrder}"); IEnumerable <UserTask> userTasks = null; if (filterId != null) { // This cast is appropriate, we need the specific UserTaskRepository behaviour here. userTasks = ((UserTaskRepository)userTaskRepository).GetItems(filterId.Value); } else { userTasks = userTaskRepository.GetItems(); } var dtoTaskInfos = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTaskInfo(ut)); var taskInfoList = new DTO.TaskInfoList { Metadata = new DTO.TaskInfoListMetadata { Count = dtoTaskInfos.Count(), FilterId = filterId, SortBy = sortBy, SortOrder = sortOrder }, TaskInfos = dtoTaskInfos }; logger.Info($"TasksController Get taskInfoList Count: {taskInfoList.TaskInfos.Count()}"); return(Ok(taskInfoList)); } catch (Exception ex) { logger.Error($"TasksController Get Error: {ex.Message}"); return(InternalServerError()); } }
public IHttpActionResult GetWorkingSetTasks(int workingSetId, int?filterId = null, string sortBy = null, string sortOrder = null) { try { IEnumerable <UserTask> userTasks = null; if (filterId != null) { // This cast is appropriate, we need the specific UserTaskRepository behaviour here. userTasks = ((UserTaskRepository)userTaskRepository).GetItems(filterId.Value, workingSetId); } else { userTasks = userTaskRepository.GetItems(new Model.UserTaskFilter { WorkingSetId = workingSetId }); } var dtoTaskInfos = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTaskInfo(ut)); var taskInfoList = new DTO.TaskInfoList { Metadata = new DTO.TaskInfoListMetadata { Count = dtoTaskInfos.Count(), FilterId = filterId, SortBy = sortBy, SortOrder = sortOrder }, TaskInfos = dtoTaskInfos }; return(Ok(taskInfoList)); } catch (Exception) { return(InternalServerError()); } }