public async Task <DepartmentResponse> GetAll([FromQuery] GetDepartmentsRequest request)
        {
            var departments = _department.GetDepartmentsQuery().Where(request.DepartmentId, x => x.DepartmentId == request.DepartmentId)
                              .Where(request.Name, x => x.Name.Contains(request.Name));

            departments = departments.OrderByDynamic(request.SortBy, request.IsDesc);
            var result = await PaginatedIQueryableExtensions <Department> .CreateAsync(departments.AsNoTracking(), request.Page, request.Rows, request.ShowAll);

            var userMappers = await result.Item.ProjectTo <DepartmentModel>(MappingProfile.Config).ToArrayAsync();

            return(new DepartmentResponse
            {
                Valid = true,
                Count = result.Count,
                PagePageIndex = result.PageIndex,
                TotalPages = result.TotalPages,
                Table = userMappers
            });
        }
Beispiel #2
0
        public async Task <RoleResponse> GetAll([FromQuery] GetRolesRequest request)
        {
            var roles = _roleManager.Roles.Where(request.Id, x => x.Id == request.Id)
                        .Where(request.Name, x => x.Name.Contains(request.Name));

            roles = roles.OrderByDynamic(request.SortBy, request.IsDesc);
            var result = await PaginatedIQueryableExtensions <Role> .CreateAsync(roles.AsNoTracking(), request.Page, request.Rows, request.ShowAll);

            var roleMappers = await result.Item.ProjectTo <RoleModel>(MappingProfile.Config).ToArrayAsync();

            return(new RoleResponse
            {
                Valid = true,
                Count = result.Count,
                PagePageIndex = result.PageIndex,
                TotalPages = result.TotalPages,
                Table = roleMappers
            });
        }
Beispiel #3
0
        public async Task <MessageResponse> GetAll([FromQuery] GetUsersRequest request)
        {
            //TODO: 把config改成DI方式
            //var config = new MapperConfiguration(cfg => {
            //    cfg.AddProfile<MappingProfile>();
            //});
            var users = _userManager.Users.Where(request.UserID, x => x.UserId == request.UserID)
                        .Where(request.UserName, x => x.UserName.Contains(request.UserName));

            users = users.OrderByDynamic(request.SortBy, request.IsDesc);
            var result = await PaginatedIQueryableExtensions <AppUser> .CreateAsync(users.AsNoTracking(), request.Page, request.Rows, request.ShowAll);

            var userMappers = await result.Item.ProjectTo <AppUserModel>(MappingProfile.Config).ToArrayAsync();

            return(new AppUserResponse
            {
                Valid = true,
                Count = result.Count,
                PagePageIndex = result.PageIndex,
                TotalPages = result.TotalPages,
                Table = userMappers
            });
        }