Exemple #1
0
        public virtual async Task <PagedResultDto <StudentDto> > GetListAsync(GetStudentsInput input)
        {
            var totalCount = await _studentRepository.GetCountAsync(input.FilterText, input.StudentFilter);

            var items = await _studentRepository
                        .GetListAsync(
                input.FilterText,
                input.StudentFilter,
                input.Sorting,
                input.MaxResultCount,
                input.SkipCount
                );

            return(new PagedResultDto <StudentDto>
            {
                TotalCount = totalCount,
                Items = ObjectMapper.Map <List <Student>, List <StudentDto> >(items)
            });
        }
        /// <summary>
        /// 获取Student的分页列表信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <StudentListDto> > GetPagedStudents(GetStudentsInput input)
        {
            var query = _studentRepository.GetAll();
            //TODO:根据传入的参数添加过滤条件
            var studentCount = await query.CountAsync();

            var students = await query
                           .OrderBy(input.Sorting).AsNoTracking()
                           .PageBy(input)
                           .ToListAsync();

            //var studentListDtos = ObjectMapper.Map<List <StudentListDto>>(students);
            var studentListDtos = students.MapTo <List <StudentListDto> >();

            return(new PagedResultDto <StudentListDto>(
                       studentCount,
                       studentListDtos
                       ));
        }
        public async Task <Result <ListResultDto <StudentItemDto> > > GetStudents(GetStudentsInput input)
        {
            var query = _studentRespository.GetAll();

            if (input.StudyGroupId.HasValue)
            {
                query = query.Where(student => student.StudyGroupId == input.StudyGroupId.Value);
            }
            var students = await query.ToListAsync();

            var studentDtos = new List <StudentItemDto>();

            foreach (var student in students)
            {
                if (student != null)
                {
                    var studentDto = await MapEntityToEntityDto(student);

                    studentDtos.Add(studentDto);
                }
            }
            return(Result <ListResultDto <StudentItemDto> > .Success(new ListResultDto <StudentItemDto>(studentDtos)));
        }
 public GetStudentsViewModel()
 {
     Input = new GetStudentsInput();
     Value = new ListResultDto <StudentItemDto>();
 }