예제 #1
0
        public IHttpActionResult Get(int id)
        {
            #region Preconditions

            if (userTaskRepository == null)
            {
                throw new InvalidOperationException();
            }

            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            #endregion

            try
            {
                logger.Info($"TasksController Get id: {id} ", users.First(u => u.UserName == User.Identity.Name).Id);

                var userTask = userTaskRepository.GetItem(id);

                var dtoTask = UserTaskMapper.TranslateModelUserTaskToDTOTask(userTask);

                return(Ok(dtoTask));
            }
            catch (Exception ex)
            {
                logger.Error($"TasksController Get id: {id}, Error:  {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id);
                return(InternalServerError());
            }
        }
예제 #2
0
        public IHttpActionResult Get(int id)
        {
            #region Preconditions

            if (userTaskRepository == null)
            {
                throw new InvalidOperationException();
            }

            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            #endregion

            try
            {
                var userTask = userTaskRepository.GetItem(id);

                var dtoTask = UserTaskMapper.TranslateModelUserTaskToDTOTask(userTask);

                return(Ok(dtoTask));
            }
            catch (Exception ex)
            {
                return(InternalServerError());
            }
        }
예제 #3
0
        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}", users.First(u => u.UserName == User.Identity.Name).Id);

                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 dtoTasks = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTask(ut));

                var taskInfoList = new DTO.TaskList
                {
                    Metadata = new DTO.TaskListMetadata
                    {
                        Count     = dtoTasks.Count(),
                        FilterId  = filterId,
                        SortBy    = sortBy,
                        SortOrder = sortOrder
                    },
                    Tasks = dtoTasks
                };

                logger.Info($"TasksController Get taskInfoList Count: {taskInfoList.Tasks.Count()}", users.First(u => u.UserName == User.Identity.Name).Id);

                return(Ok(taskInfoList));
            }
            catch (Exception ex)
            {
                logger.Error($"TasksController Get Error: {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id);
                return(InternalServerError());
            }
        }
예제 #4
0
        public IHttpActionResult GetWorkingSetTasks(int workingSetId, int?filterId = null, string sortBy = null, string sortOrder = null)
        {
            try
            {
                logger.Info($"TasksController GetWorkingSetTasks workingSetId: {workingSetId}, filterId: {filterId}", users.First(u => u.UserName == User.Identity.Name).Id);

                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 dtoTasks = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTask(ut));

                var taskInfoList = new DTO.TaskList
                {
                    Metadata = new DTO.TaskListMetadata
                    {
                        Count     = dtoTasks.Count(),
                        FilterId  = filterId,
                        SortBy    = sortBy,
                        SortOrder = sortOrder
                    },
                    Tasks = dtoTasks
                };

                return(Ok(taskInfoList));
            }
            catch (Exception ex)
            {
                logger.Error($"TasksController GetWorkingSetTasks workingSetId: {workingSetId}, Error:  {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id);
                return(InternalServerError());
            }
        }