public GetTasksOutput GetTasks(GetTasksInput input) { var query = _taskRepository.GetAll(); if (input.AssignedPersonId.HasValue) { //query = query.Where(t => t.AssignedPersonId == input.AssignedPersonId.Value); } if (input.State.HasValue) { query = query.Where(t => t.State == input.State.Value); } //排序 if (!string.IsNullOrEmpty(input.Sorting)) { query = query.OrderBy(input.Sorting); } else { query = query.OrderByDescending(t => t.CreationTime); } //获取分页 var taskList = query.Skip(input.SkipCount).Take(input.MaxResultCount).Include(t => t.AssignedPerson).ToList(); //Used AutoMapper to automatically convert List<Task> to List<TaskDto>. return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(taskList) }); }
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 GetTasksInput { SkipCount = offset, MaxResultCount = limit, Sorting = sort, Filter = search }; if (!string.IsNullOrEmpty(status)) { if (Enum.TryParse(status, true, out currentState)) { filter.State = currentState; } } var pagedTasks = _taskAppService.GetPagedTasks(filter); return(Json(new { total = pagedTasks.TotalCount, rows = pagedTasks.Items }, JsonRequestBehavior.AllowGet)); }
public GetTasksOutput GetTasks(GetTasksInput input) { var query = _taskRepository.GetAll().Include(t => t.AssignedPerson) .WhereIf(input.State.HasValue, t => t.State == input.State.Value) .WhereIf(!input.Filter.IsNullOrEmpty(), t => t.Title.Contains(input.Filter)) .WhereIf(input.AssignedPersonId.HasValue, t => t.AssignedPersonId == input.AssignedPersonId.Value); //排序 if (!string.IsNullOrEmpty(input.Sorting)) { query = query.OrderBy(input.Sorting); } else { query = query.OrderByDescending(t => t.CreationTime); } var taskList = query.ToList(); //Used AutoMapper to automatically convert List<Task> to List<TaskDto>. return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(taskList) }); }
public GetTasksOutput GetTasks(GetTasksInput input) { var tasks = _taskRepository.GetAllTasksWithPerson(input.AssignedPersonId, input.State); return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(tasks) }); }
public ActionResult Create(CreateTaskInput task) { var id = _taskAppService.CreateTask(task); var input = new GetTasksInput(); var output = _taskAppService.GetTasks(input); return(PartialView("_List", output.Tasks)); }
public ActionResult List() { GetTasksInput getTasksInput = new GetTasksInput(); getTasksInput.TaskId = 1; GetTasksOutput res = _appService.GetTasks(getTasksInput); return(View(res.Tasks)); }
public async Task <GetTasksOutput> GetTasksAsync(GetTasksInput input) { var tasks = await _taskRepository.GetListAsync(input.State); return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(tasks) }); }
public ActionResult Edit(UpdateTaskInput updateTaskDto) { _taskAppService.UpdateTask(updateTaskDto); var input = new GetTasksInput(); var output = _taskAppService.GetTasks(input); return(PartialView("_List", output.Tasks)); }
public GetTasksOutput GetTasks(GetTasksInput input) { var tasks = _taskRepository.GetAllWithPeople(input.AssignedPersonId, input.State); //用AutoMapper自动将List<Task>转换成List<TaskDto> return(new GetTasksOutput() { Tasks = Mapper.Map <List <TaskDto> >(tasks) }); }
public GetTasksOutput GetTasks(GetTasksInput input) { //Called specific GetAllWithPeople method of task repository. var tasks = _taskRepository.GetAllWithPeople(input.AssignedPersonId, input.State); //Used AutoMapper to automatically convert List<Task> to List<TaskDto>. return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(tasks) }); }
public ActionResult Index(GetTasksInput input) { var output = _taskAppService.GetTasks(input); var model = new IndexViewModel(output.Tasks) { SelectedTaskState = input.State }; return(View(model)); }
public void Should_Get_Filtered_Task() { //Arrange var filter = new GetTasksInput() { State = TaskState.Open }; var openTasksCount = UsingDbContext(ctx => ctx.Tasks.Count(t => t.State == TaskState.Open)); //Act var actualOpenTaskCount = _taskAppService.GetTasks(filter).Tasks.Count; //Assert actualOpenTaskCount.ShouldBe(openTasksCount); }
public GetTasksOutput GetTasks(GetTasksInput input) { var query = _taskRepository.GetAll(); if (input.AssignedPersonId.HasValue) { query = query.Where(t => t.AssignedPersonId == input.AssignedPersonId.Value); } if (input.State.HasValue) { query = query.Where(t => t.State == input.State.Value); } return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(query.ToList()) }); }
public void Should_Get_Paged_Task() { //Arrange(取第三页) var filter = new GetTasksInput() { MaxResultCount = 2, SkipCount = 4 }; var totalTaskCount = UsingDbContext(ctx => ctx.Tasks.Count()); var thirdPageItemsCount = totalTaskCount > 3 * filter.MaxResultCount ? filter.MaxResultCount : totalTaskCount - filter.SkipCount; //act var result = _taskAppService.GetPagedTasks(filter); //Assert result.TotalCount.ShouldBe(totalTaskCount); result.Items.Count.ShouldBe(thirdPageItemsCount); }
public virtual GetTasksOutput GetTasks(GetTasksInput input) { var query = CreateQueryForAssignedTasksOfUser(input.AssignedUserId); if (!input.TaskStates.IsNullOrEmpty()) { query = query.Where(task => input.TaskStates.Contains(task.State)); } query = query .OrderByDescending(task => task.Priority) .Skip(input.SkipCount) .Take(input.MaxResultCount); return(new GetTasksOutput { Tasks = query.ToList().MapIList <Task, TaskDto>() }); }
public async Task <PagedResultDto <TaskListDto> > GetPaged(GetTasksInput input) { var query = _entityRepository.GetAll(); // TODO:根据传入的参数添加过滤条件 var count = await query.CountAsync(); var entityList = await query .OrderBy(input.Sorting).AsNoTracking() .PageBy(input) .ToListAsync(); var entityListDtos = ObjectMapper.Map <List <TaskListDto> >(entityList); //var entityListDtos =entityList.MapTo<List<TaskListDto>>(); return(new PagedResultDto <TaskListDto>(count, entityListDtos)); }
public JsonResult Edit(UpdateTaskInput updateTaskDto) { if (ModelState.IsValid) { _taskAppService.UpdateTask(updateTaskDto); var input = new GetTasksInput(); var output = _taskAppService.GetTasks(input); var module = new IndexViewModel(output.Tasks) { SelectedTaskState = input.State, CreateTaskInput = new CreateTaskInput(), UpdateTaskInput = new UpdateTaskInput() }; return(Json(true, JsonRequestBehavior.AllowGet)); } return(Json(false, JsonRequestBehavior.AllowGet)); }
public PagedResultDto <TaskDto> GetPagedTasks(GetTasksInput input) { //WhereIf 是ABP针对IQueryable<T>的扩展方法 第一个参数为条件,第二个参数为一个Predicate 当条件为true执行后面的条件过滤 var query = _taskRepository.GetAll() .Include(t => t.AssignedPerson) .WhereIf(input.State.HasValue, t => t.State == input.State.Value) .WhereIf(!input.Filter.IsNullOrEmpty(), t => t.Title.Contains(input.Filter)) .WhereIf(input.AssignedPersonId.HasValue, t => t.AssignedPersonId == input.AssignedPersonId.Value); query = !string.IsNullOrEmpty(input.Sorting) ? query.OrderBy(input.Sorting) : query.OrderByDescending(t => t.CreationTime); var tasksCount = query.Count(); var taskList = query.PageBy(input).ToList();//这里调用abp封装好的IQueryable的扩展方法 PageBy 实际上就是 执行 //query.PageBy(pagedResultRequest.SkipCount, pagedResultRequest.MaxResultCount) //因为GetTasksInput input逐级向上 发现它继承自PagedInputDto(继承自IPagedResultRequest) //最后相当于执行了 querySkip(input.SkipCount).Take(input.MaxResultCount); return(new PagedResultDto <TaskDto>(tasksCount, taskList.MapTo <List <TaskDto> >())); }
public GetTasksOutput GetTasks(GetTasksInput input) { var query = _taskRepository.GetAll(); if (input.AssignedPersonId.HasValue) { query = query.Where(t => t.AssignedPersonId == input.AssignedPersonId.Value); } if (input.State.HasValue) { query = query.Where(t => t.State == input.State.Value); } //Used AutoMapper to automatically convert List<Task> to List<TaskDto>. return new GetTasksOutput { Tasks = Mapper.Map<List<TaskDto>>(query.ToList()) }; }
public GetTasksOutput GetTasks(GetTasksInput input) { var query = _taskRepository.GetAll(); if (input.AssignedPersonId.HasValue) { query = query.Where(t => t.AssignedPersonId == input.AssignedPersonId.Value); } if (input.State.HasValue) { query = query.Where(t => t.State == input.State.Value); } //使用AutoMapper自动转换 List<Task> to List<TaskDto> //从数据库返回的是实体的字段,返回给上一层的需要dto的字段 return(new GetTasksOutput { Tasks = Mapper.Map <List <TaskDto> >(query.ToList()) }); }
public PagedResultDto <TaskDto> GetPagedTasks(GetTasksInput input) { //初步过滤 var query = _taskRepository.GetAll() .WhereIf(input.State.HasValue, t => t.State == input.State.Value) .WhereIf(!input.Filter.IsNullOrEmpty(), t => t.Title.Contains(input.Filter)); //排序 query = !string.IsNullOrEmpty(input.Sorting) ? query.OrderBy(t => t.State) : query.OrderByDescending(t => t.CreationTime); //获取总数 var tasksCount = query.Count(); //默认的分页方式 //var taskList = query.Skip(input.SkipCount).Take(input.MaxResultCount).ToList(); //ABP提供了扩展方法PageBy分页方式 var taskList = query.PageBy(input).ToList(); return(new PagedResultDto <TaskDto>(tasksCount, ObjectMapper.Map <List <TaskDto> >(taskList))); }
// GET: Tasks public ActionResult PagedList(int?page) { //每页行数 var pageSize = 5; var pageNumber = page ?? 1; //第几页 var filter = new GetTasksInput { SkipCount = (pageNumber - 1) * pageSize, //忽略个数 MaxResultCount = pageSize }; var result = _taskAppService.GetPagedTasks(filter); //已经在应用服务层手动完成了分页逻辑,所以需手动构造分页结果 var onePageOfTasks = new StaticPagedList <TaskDto>(result.Items, pageNumber, pageSize, result.TotalCount); //将分页结果放入ViewBag供View使用 ViewBag.OnePageOfTasks = onePageOfTasks; return(View()); }
public GetTasksOutput GetTasks(GetTasksInput input) { var tasks = _taskRepository.GetAllWithPeople(input.AssignedPersonId, input.State); List <TaskDto> taskDtos = new List <TaskDto>(); foreach (var task in tasks) { TaskDto taskDto = new TaskDto(); taskDto.Id = task.Id; taskDto.AssignedPersonId = task.AssignedPersonId; taskDto.AssignedPersonName = task.AssignedPerson.Name; taskDto.CreationTime = task.CreationTime; taskDto.Description = task.Description; taskDto.State = (byte)task.State; taskDtos.Add(taskDto); } return(new GetTasksOutput { Tasks = taskDtos }); }
public PartialViewResult GetList(GetTasksInput input) { var output = _taskAppService.GetTasks(input); return(PartialView("_List", output.Tasks)); }