Ejemplo n.º 1
0
        public GetTaskOutput GetTask(GetTaskInput input)
        {
            var currentUser = _userRepository.Load(AbpUser.CurrentUserId.Value);
            var task        = _taskRepository.FirstOrDefault(input.Id);

            if (task == null)
            {
                throw new UserFriendlyException("Can not found the task!");
            }

            if (!_taskPolicy.CanSeeTasksOfUser(currentUser, task.AssignedUser))
            {
                throw new UserFriendlyException("Can not see tasks of " + task.AssignedUser.Name);
            }

            if (task.AssignedUser.Id != currentUser.Id && task.Privacy == TaskPrivacy.Private)
            {
                throw new UserFriendlyException("Can not see this task since it's private!");
            }

            return(new GetTaskOutput
            {
                Task = task.MapTo <TaskWithAssignedUserDto>(),
                IsEditableByCurrentUser = _taskPolicy.CanUpdateTask(currentUser, task)
            });
        }
Ejemplo n.º 2
0
        public JsonResult GetAllTasks(int limit, int offset, string sortfiled, string sortway, string search, string status)
        {
            var       sort = !string.IsNullOrEmpty(sortfiled) ? string.Format("{0},{1}", sortfiled, sortway) : "";
            TaskState currentState;
            //if(!string.IsNullOrEmpty(status)) Enum.TryParse(status,true,out currentState);

            var filter = new GetTaskInput
            {
                SkipCount      = offset,
                MaxResultCount = limit,
                Sorting        = sort,
                Filter         = search
            };

            if (!string.IsNullOrEmpty(status))
            {
                if (Enum.TryParse(status, true, out currentState))
                {
                    filter.State = currentState;
                }
            }

            var pageTasks = taskAppServices.GetPagedTasks(filter);

            return(Json(new { total = pageTasks.TotalCount, rows = pageTasks.Items }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        public TaskListDto GetTask(GetTaskInput input)
        {
            var task   = _taskRepository.FirstOrDefault(x => x.Id == input.Id);
            var output = ObjectMapper.Map <TaskListDto>(task);

            return(output);
        }
Ejemplo n.º 4
0
        public ActionResult Create(CreateTaskInput task)
        {
            var id     = _taskAppServices.CreateTask(task);
            var input  = new GetTaskInput();
            var output = _taskAppServices.GetTasks(input);

            return(PartialView("_List", output.Tasks));
        }
Ejemplo n.º 5
0
        public GetTasksOutput GetTasks(GetTaskInput input)
        {
            var tasks = _taskRepository.GetAllWithPeople(input.AssignedPersonId, input.State);

            return(new GetTasksOutput
            {
                Tasks = ObjectMapper.Map <List <TaskListDto> >(tasks)
            });
        }
Ejemplo n.º 6
0
        public ActionResult Edit(UpdateTaskInput updateTaskDto)
        {
            _taskAppServices.UpdateTask(updateTaskDto);

            var input  = new GetTaskInput();
            var output = _taskAppServices.GetTasks(input);

            return(PartialView("_List", output.Tasks));
        }
Ejemplo n.º 7
0
        // GET: Tasks
        public ActionResult Index(GetTaskInput input)
        {
            var output = _taskAppServices.GetTasks(input);
            var model  = new IndexViewModel(output.Tasks)
            {
                SelectedTaskState = input.State
            };

            return(View(model));
        }
Ejemplo n.º 8
0
        public ActionResult PagedList(int?page)
        {
            var pageSize   = 5;
            var pageNumber = page ?? 1;
            var filter     = new GetTaskInput
            {
                SkipCount      = (pageNumber - 1) * pageSize,//忽略个数
                MaxResultCount = pageSize
            };
            var result = _taskAppServices.GetPagedTasks(filter);
            //已在应用服务层手动完成了分页逻辑,所以需要手动构造分页结果
            var onePageOfTasks = new StaticPagedList <TaskDto>(result.Items, pageNumber, pageSize, result.TotalCount);

            //将分页结果放入到ViewBag供View使用
            ViewBag.OnePageOfTasks = onePageOfTasks;
            return(View());
        }
Ejemplo n.º 9
0
        public GetTasksOutput GetTasks(GetTaskInput input)
        {
            var query = taskRespository.GetAll();

            if (input.AssingedPersonId.HasValue)
            {
                query = query.Where(t => t.AssignedPersonId == input.AssingedPersonId.Value);
            }
            if (input.State.HasValue)
            {
                query = query.Where(t => t.State == input.State.Value);
            }

            return(new GetTasksOutput()
            {
                Tasks = Mapper.Map <List <TaskDto> >(query.ToList())
            });
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 任务分页
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public PagedResultDto <TaskDto> GetPagedTasks(GetTaskInput input)
        {
            //过滤
            var query = taskRespository.GetAll()
                        .WhereIf(input.State.HasValue, t => t.State == input.State.Value)
                        .WhereIf(!input.Filter.IsNullOrEmpty(), t => t.Title.Contains(input.Filter))
                        .WhereIf(input.AssingedPersonId.HasValue, t => t.AssignedPersonId == input.AssingedPersonId.Value);

            //排序
            query = !string.IsNullOrEmpty(input.Sorting) ? query.OrderBy(input.Sorting.ToString()) : query.OrderByDescending(t => t.CreationTime);

            //获取总数
            var taskCount = query.Count();

            //分页方式-以前的分页方式
            //var taskList = query.Skip(input.SkipCount).Take(input.MaxResultCount).ToList();

            //ABP自带分页方式
            var taskList = query.PageBy(input).ToList();

            return(new PagedResultDto <TaskDto>(taskCount, taskList.MapTo <List <TaskDto> >()));
        }
Ejemplo n.º 11
0
        public PartialViewResult GetList(GetTaskInput input)
        {
            var output = _taskAppServices.GetTasks(input);

            return(PartialView("_List", output.Tasks));
        }
Ejemplo n.º 12
0
        public GetTasksOutput GetTasks([FromBody] GetTaskInput input)
        {
            var output = _taskAppService.GetTasks(input);

            return(output);
        }