public ActionResult GetChildModuleList(int? rows, int? page, int? parentid) { //var data = moduleInfo.FindWhere(n => n.ParentID == parentid); //var info = new PaginationModel<IMS_UP_MK>(); //var info = new PaginationModel(); if (parentid == null) { // 解决easyui length的问题 var nullInfo = new PaginationModel(new List<IMS_UP_MK>(),0); return Json(nullInfo); } int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //var dataList = dalModule.GetDataByPage( // o => o.MKMC // , f => f.FMKID == parentid.Value // , pageIndex, pageSize, out totalCount); string filter = string.Format( "FMKID = {0} ",parentid.Value) ; var dataList = dalModule.GetDataByPageDynamic(pageIndex, pageSize, out totalCount, " PXID ", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); //var json = Json(info); return this.JsonFormat(info); //return Json(info, ContextType); }
/// <summary> /// Gets a paginated listed of system users /// </summary> /// <param name="model">Paginated model for managed users</param> /// <param name="pageNumber">the page number to return</param> /// <returns></returns> public static void GetPaginatedUsers(this PaginationModel <UserModel> model, int pageNumber = 1) { try { using (var db = new DbContextHelper()) { var data = (from u in db.Users select new UserModel { Id = u.Id, IdKey = u.IdKey, FirstName = u.FirstName, LastName = u.LastName, ScreenName = u.ScreenName, Email = u.Email, UserStatus = (UserStatus)u.UserStatus, }) .OrderBy(model.SortOptions.Column, model.SortOptions.Direction) .ToList(); model.Data = new CustomPagination <UserModel>(data, pageNumber, 20, data.Count); } } catch (Exception ex) { LogHelper.LogFatalError("UserModelHelper.GetPaginatedUsers", ex); throw ex; } }
public static IQueryable <T> Paginate <T>(this IQueryable <T> queryable, PaginationModel pagination) { return(queryable .Skip((pagination.Page - 1) * pagination.QuantityPerPage) .Take(pagination.QuantityPerPage)); }
public List <FilmModel> GetByCategory(PaginationModel model, int categoryId) { List <FilmModel> result = new List <FilmModel>(); using (context = new CinemaStoreContext()) { //model.TotalItems = context.FilmEntity.Count(); var films = context.FilmEntity .Include(x => x.Categories); if (categoryId > 0) { films = films .Where(f => f.Categories.Any(c => c.Id == categoryId)); model.TotalItems = films.Count(); } else { return(result); } var tempfilms = films .OrderBy(x => x.DateCreate) .Skip((model.Page - 1) * model.CountOnPage) .Take(model.CountOnPage) .Include(x => x.Posters) .Include(x => x.FilmCrew) .ToList(); result = MapTo(tempfilms); } return(result); }
public ActionResult GetChildModuleList(int?rows, int?page, int?parentid) { //var data = moduleInfo.FindWhere(n => n.ParentID == parentid); //var info = new PaginationModel<IMS_UP_MK>(); //var info = new PaginationModel(); if (parentid == null) { // 解决easyui length的问题 var nullInfo = new PaginationModel(new List <IMS_UP_MK>(), 0); return(Json(nullInfo)); } int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //var dataList = dalModule.GetDataByPage( // o => o.MKMC // , f => f.FMKID == parentid.Value // , pageIndex, pageSize, out totalCount); string filter = string.Format("FMKID = {0} ", parentid.Value); var dataList = dalModule.GetDataByPageDynamic(pageIndex, pageSize, out totalCount, " PXID ", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); //var json = Json(info); return(this.JsonFormat(info)); //return Json(info, ContextType); }
public async Task <Tuple <IEnumerable <M>, double> > GetPageData <T, M>(int page = 1, int size = 20, string keyword = "", string categoryId = "0") where T : BaseEntity where M : BaseModel { var queryable = dBContext.Set <Product>().AsQueryable().Include(d => d.ProductLinks).Include(d => d.ProductCategory); Expression <Func <Product, bool> > nameExpected = d => true; if (!string.IsNullOrEmpty(keyword)) { nameExpected = product => product.Name.Contains(keyword); } Expression <Func <Product, bool> > categoryExpected = d => true; if (int.TryParse(categoryId, out int categoryid)) { if (categoryid > 0) { categoryExpected = product => product.ProductCategoryId == categoryid; } } double count = await queryable.Where(nameExpected).Where(categoryExpected).CountAsync(); double pagesQuantity = Math.Ceiling(count / size); var pagination = new PaginationModel() { Page = page, QuantityPerPage = size }; return(new Tuple <IEnumerable <M>, double>(await queryable.Where(nameExpected).Where(categoryExpected).Paginate(pagination).Select(d => d.ToModel <M>(mapper)).ToListAsync(), pagesQuantity)); }
public async Task <IActionResult> Get([FromQuery] PaginationModel model) { var result = await _memoryCache.GetOrCreateAsync("Countries", async x => { x.SlidingExpiration = TimeSpan.FromHours(1); var httpClient = _clientFactory.CreateClient(); var response = await httpClient.GetAsync("https://restcountries.eu/rest/v2/all"); if (response.IsSuccessStatusCode) { var resultString = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <List <Country> >(resultString)); } return(new List <Country>()); }); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var total = result.Count; result = result.Skip(model.PageSize * model.Page).Take(model.PageSize).ToList(); return(Ok(new { data = result, total })); }
public async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { var result = context.Result as ObjectResult; if (FiltersHelper.IsResponseSuccesful(result)) { PaginationModel <TEntity> paginationModel = await FiltersHelper.GetParameterFromActionAsync <PaginationModel <TEntity> >(context); IQueryable <TDto> list = result.Value as IQueryable <TDto>; var dtoPagedList = await list.ToPagedListAsync(paginationModel.PageSize, paginationModel.PageNumber); /// Doesn't support many pagination methods for a single controller var paginationMethodInfo = filterConfiguration.ControllerInfoDictionary[context.Controller.GetType()].ControllerActions.Where(t => t.ResourceType == Attributes.ResourceType.Collection).FirstOrDefault(); string mediaType = FiltersHelper.GetValueFromHeader(context, "Accept"); PaginationMetadata paginationMetadata = paginationHelperService.GeneratePaginationMetaData(dtoPagedList, paginationModel, context.Controller.GetType().Name, paginationMethodInfo.ActionName); if (filterConfiguration.SupportsCustomDataType && mediaType.Equals(filterConfiguration.CustomDataType, StringComparison.CurrentCultureIgnoreCase)) { var controllerType = context.Controller.GetType(); var dtoPagedListWithExternalLinks = HateoasHelper.CreateLinksForCollectionResource(dtoPagedList, filterConfiguration, paginationMetadata, context.Controller.GetType()); var shapedDtoPagedListWithLinks = new EnvelopCollection <EnvelopDto <TDto> > { Values = dtoPagedListWithExternalLinks.Values.Select(dto => { return(HateoasHelper .CreateLinksForSingleResource(dto, filterConfiguration, linkGenerator, controllerType)); }), Links = dtoPagedListWithExternalLinks.Links }; result.Value = shapedDtoPagedListWithLinks; } else { result.Value = dtoPagedList; } await next(); } }
// GET: Catalog public ActionResult Index(string category, int? id,int page=1) { CatalogCategoryModel m = null; if (String.IsNullOrEmpty(category)) { category = _repository.GetAll().FirstOrDefault().CategoryLinkName; } Category cat = _repository.FindBy(c => c.CategoryLinkName == category).FirstOrDefault(); if ((cat == null) || (cat.Published = false)) { return HttpNotFound(); } if (id.HasValue) { var p = cat.Products.Where(pd => pd.ProductId == id).SingleOrDefault(); if(p==null) return HttpNotFound(); return View("ProductDetails", p); } m = new CatalogCategoryModel(); m.Products = cat.Products.OrderBy(p=>p.ProductName).Skip((page - 1) * _pageSize).Take(_pageSize).ToList(); m.Category = cat; PaginationModel pm = new PaginationModel() { CurrentPage = page, ItemsPerPage = _pageSize, TotalItems = cat.Products.Count(p=>p.Published) }; m.Pagination = pm; return View(m); }
public ActionResult GetOrderList(int?rows, int?page , EnumBusinessType bizType = EnumBusinessType.None) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; string filter = null; if (bizType != EnumBusinessType.None) { filter = string.Format(" YWLX = {0} ", (int)bizType); } var dataList = dalorderform.GetDataViewByPageDynamic( pageIndex, pageSize, out totalCount , "ID", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return(this.JsonFormat(info)); }
public ContactsViewModel GetContacts(PaginationModel pageFilter, SearchModel searchFilter = null) { var result = new ContactsViewModel(); IEnumerable <Item> results = allContacts; if (searchFilter != null) { if (!string.IsNullOrWhiteSpace(searchFilter.first_name)) { results = results.Where(t => IsMatch(t.first_name, searchFilter.first_name)); } if (!string.IsNullOrWhiteSpace(searchFilter.last_name)) { results = results.Where(t => IsMatch(t.last_name, searchFilter.last_name)); } if (!string.IsNullOrWhiteSpace(searchFilter.job_title)) { results = results.Where(t => IsMatch(t.job_title, searchFilter.job_title)); } if (!string.IsNullOrWhiteSpace(searchFilter.company_name)) { results = results.Where(t => IsMatch(t.company_name, searchFilter.company_name)); } } result.TotalCount = results.Count(); result.Results = results .OrderByDescending(t => t.date).Skip(pageFilter.toSkip).Take(pageFilter.count); return(result); }
public PaginationInfoModel <PictureShortModel> GetPicturesWithPagination(PaginationModel paginationModel) { var pictures = _uow.PicturesRepository .Get() .OrderByDescending(x => x.Id) .ToList(); if (paginationModel.LastItemId.HasValue) { pictures = pictures.Where(x => x.Id < paginationModel.LastItemId).ToList(); } var data = pictures .Take(paginationModel.Count) .Select(x => new PictureShortModel { Id = x.Id, Title = x.Title, FileName = x.FileName, }) .ToList(); return(new PaginationInfoModel <PictureShortModel> { Data = data, IsLast = data.Count() == pictures.Count() }); }
public PaginationModel <Student> Get(int page, int size, string filter) { page = page == 0 ? 1:page; size = size < 10 ? 10 : size; var items = Repository.Get(page, size); var count = 0; if (!string.IsNullOrWhiteSpace(filter)) { filter = filter.ToLower(); Expression <Func <Student, bool> > criteria = s => s.FirstName.ToLower().Contains(filter) || s.LastName.ToLower().Contains(filter) || s.Gender.ToLower().Contains(filter) || s.Nationality.ToLower().Contains(filter) || s.Religion.ToLower().Contains(filter); count = Repository.Get(criteria).Count(); items = Repository.Get(criteria, page, size); } else { count = Repository.Get().Count(); } var model = new PaginationModel <Student>(); model.Filter = filter; model.Page = page; model.Size = size; model.Count = count; model.Items = items; return(model); }
/// <summary> /// 用于分页 /// </summary> /// <typeparam name="I"></typeparam> /// <typeparam name="O"></typeparam> /// <param name="list"></param> /// <param name="pageNumber"></param> /// <param name="routeDict">需要传递的参数</param> /// <param name="selectFunc">映射函数</param> /// <returns></returns> protected PaginationModel <O> Pagination <I, O>( IEnumerable <I> list, int pageNumber, RouteValueDictionary routeDict, Func <I, O> selectFunc) where I : class where O : class { IQueryable <I> qlist = list.AsQueryable(); PaginationModel <O> pagination = new PaginationModel <O>(); // TODO(Moore)使用一个分页控件 //HttpContext.Trace.Write("a"); pagination.CurrentPage = pageNumber; pagination.ItemCount = qlist.Count(); //HttpContext.Trace.Write("b"); pagination.PageCount = pagination.ItemCount / Configuration.WapPageSize + (pagination.ItemCount % Configuration.WapPageSize == 0 ? 0 : 1); pagination.SubItemList = qlist.Skip(pageNumber * Configuration.WapPageSize) .Take(Configuration.WapPageSize) .Select(selectFunc).ToList(); //HttpContext.Trace.Write("b2"); pagination.routeDict = RouteData == null ? new RouteValueDictionary() : new RouteValueDictionary(RouteData.Values); pagination.routeDict.Add("page", pageNumber); if (null != routeDict) { pagination.routeDict.UpdateWith(routeDict); } //HttpContext.Trace.Write("c"); return(pagination); }
public async Task <IActionResult> OnGetAsync() { Gallery gallery = await _galleryService.GetGallery(Id); if (gallery == null) { return(NotFound()); } int pageSize = 12; //每页展示的漫画个数 int comicCount = await _comicService.GetComicCount(Id); int maxPage = (comicCount + 1) / 12 + 1; GalleryName = gallery.Name; Console.WriteLine(PageNumber); Comics = await _comicService.GetComics(gallery, PageNumber.GetValueOrDefault(1) - 1, pageSize); Pagination = new PaginationModel() { StartPage = 1, EndPage = maxPage, CurrentPage = PageNumber.GetValueOrDefault(1), }; Pagination.CreatePaginationItems(); Pagination.Route = "/Read/Gallery1"; Pagination.RouteParams = new Dictionary <string, string>(); //{ // {"id",Id.ToString() }, //}; foreach (var kv in RouteData.Values) { Pagination.RouteParams.Add(kv.Key, kv.Value.ToString()); } return(Page()); }
public JsonResult ShowMoreComments(string postId, string createdDateString) { object jsonObject; if (string.IsNullOrWhiteSpace(createdDateString)) { jsonObject = new { status = 500 }; return(Json(jsonObject)); } DateTime createdDate = dataMapper.ParseCommentTime(createdDateString); PaginationDTO <CommentDTO> commentPaginationDTO = commentService.GetCommentPaginationOfPostWithPreservedFetch(postId, createdDate, pageSize: Settings.COMMENT_PAGE_SIZE); if (commentPaginationDTO == null) { jsonObject = new { status = 500 }; } else { PaginationModel <CommentModel> commentPaginationModel = dataMapper.MapCommentPaginationDTOToModel(commentPaginationDTO); jsonObject = new { status = 200, data = commentPaginationModel }; } return(Json(jsonObject)); }
public JsonResult GetArticlesList(PaginationModel pageList) { PaginationResultModel <Article> alist = new PaginationResultModel <Article>(); alist = RichArticleService.GetArticleList(pageList); return(Json(alist)); }
public IActionResult GetCustomers([FromQuery] CustomerListParameters resourceParameters) { if (resourceParameters.Page < 1) { resourceParameters.Page = 1; //0 is default when not specified } if (resourceParameters.Take == 0) { resourceParameters.Take = 50; //default when value is not specified. } if (resourceParameters.Take > 250) { _logger.LogError("Get Customers max items exceeded."); return(new ValidationFailedResult("A request can only take maximum of 250 items.")); } var customers = _customerData.Get(0, resourceParameters); var pagination = new PaginationModel { Previous = CreateCustomersResourceUri(resourceParameters, -1), Next = CreateCustomersResourceUri(resourceParameters, 1) }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(pagination)); Response.Headers.Add("ETag", "\"abc\""); var models = customers.Select(c => new CustomerDisplayViewModel(c)); return(Ok(models)); }
private string CreateUri(PaginationModel paginationModel, ResourceUriType uriType, string controllerName, string methodName) { var currentPaginationModel = paginationModel.Clone(); switch (uriType) { case ResourceUriType.Next: currentPaginationModel.PageNumber++; break; case ResourceUriType.Previous: currentPaginationModel.PageNumber--; break; case ResourceUriType.Self: break; default: break; } if (filterConfiguration.SupportsCustomPaginationModel) { return(linkGenerator.GetPathByAction(methodName, controllerName, TryChangeType(currentPaginationModel, filterConfiguration.CustomPaginationModelTypes))); } return(linkGenerator.GetPathByAction(methodName, controllerName, currentPaginationModel)); }
public async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { PaginatedResult result = context.Result as PaginatedResult; if (FiltersHelper.IsResponseSuccesful(result)) { PaginationModel paginationModel = await FiltersHelper.GetParameterKnowingBaseTypeFromActionAsync <PaginationModel>(context); var paginationMethodInfo = filterConfiguration.ControllerInfoDictionary[context.Controller.GetType()].ControllerActions. Where(t => t.ResourceType == Attributes.ResourceType.Collection).FirstOrDefault(); PaginationMetadata paginationMetadata = paginationHelperService.GeneratePaginationMetaData( result.PaginationInfo, paginationModel, FiltersHelper.GetControllerName(context), paginationMethodInfo.ActionName); string mediaType = FiltersHelper.GetValueFromHeader(context, "Accept"); IEnumerable <TDto> pagedList = (IEnumerable <TDto>)result.Value; if (filterConfiguration.HateoasConfiguration.SupportsCustomDataType && mediaType.Equals(filterConfiguration.HateoasConfiguration.CustomDataType, StringComparison.CurrentCultureIgnoreCase)) { EnvelopCollection <EnvelopDto <TDto> > pagedListWithLinks = AddInternalAndExternalLinks(context, paginationMetadata, pagedList); result.Value = pagedListWithLinks; } else { result.Value = pagedList; } await next(); } }
public List <FilmModel> GetFilms(PaginationModel model, Func <FilmEntity, bool> predicate = null) { List <FilmModel> result = new List <FilmModel>(); using (context = new CinemaStoreContext()) { model.TotalItems = context.FilmEntity.Count(); var films = context.FilmEntity .Include(x => x.Posters) .Include(x => x.Categories) .Include(x => x.FilmCrew) .AsNoTracking(); if (predicate != null) { films = films.Where(predicate).AsQueryable(); } var tempfilms = films.OrderBy(x => x.DateCreate) .Skip(() => (model.Page - 1) * model.CountOnPage).Take(() => model.CountOnPage) .ToList(); result = MapTo(tempfilms); } return(result); }
public ApiPagingListResponse <UserModel> SearchUsers(SearchUserModel model, int pageIndex = 0, int pageSize = 25) { //查询满足条件的用户 var query = this.UserService.SearchUsers(model, pageIndex, pageSize); //查询结果 var result = new PaginationModel <UserModel>(); result.Result = query.Result; //分页 result.Page = new Page() { PageIndex = query.PageIndex, PageSize = query.PageSize, TotalPages = query.TotalPages, TotalCount = query.TotalCount }; return(new ApiPagingListResponse <UserModel> { Result = query.Result, Page = result.Page }); }
public async Task SearchUsersByEmail_ReturnsExpected(string email, int userCount, int pageCount) { // Arrange var users = new List <ApplicationUser>(); for (var i = 0; i < userCount; i++) { // Create a unique email users.Add(new ApplicationUser() { Email = $"{i}{email}" }); } var mappedUsers = Mapper.Map <List <ApplicationUserDto> >(users); var paginationModel = new PaginationModel() { Count = userCount }; Mediator.Setup(m => m.Send(It.IsAny <GetAllUsersQuery>(), default(CancellationToken))).ReturnsAsync(users); Mediator.Setup(m => m.Send(It.IsAny <GetPaginatedResultsQuery>(), default(CancellationToken))) .ReturnsAsync(new PaginatedUsersDto() { PaginationModel = paginationModel, Users = mappedUsers }); // Act var result = await Handler.Handle(new SearchUsersByEmailQuery(email), CancellationToken.None); // Assert Assert.Equal(pageCount, result.PaginationModel.TotalPages); Assert.Equal(userCount, result.PaginationModel.Count); Assert.Equal(users.Count, result.Users.Count); }
public async Task <Maybe <Tuple <IEnumerable <M>, double> > > GetPageDataAsync <M>(int SubMenuItemId = 0, int page = 1, int size = 20, string keyword = "") where M : BaseModel { try { var queryable = dBContext.Set <SubItemDetail>().Where(d => !d.Disabled).OrderBy(d => d.Order).AsQueryable(); Expression <Func <SubItemDetail, bool> > nameExpected = d => true; if (!string.IsNullOrEmpty(keyword)) { nameExpected = d => d.Title.Contains(keyword); } Expression <Func <SubItemDetail, bool> > categoryExpected = d => true; if (SubMenuItemId > 0) { categoryExpected = d => d.SubMenuItemId == SubMenuItemId; } double count = await queryable.Where(nameExpected).Where(categoryExpected).CountAsync(); double pagesQuantity = Math.Ceiling(count / size); var pagination = new PaginationModel() { Page = page, QuantityPerPage = size }; return(Maybe.Ok(new Tuple <IEnumerable <M>, double>(await queryable.Where(nameExpected).Where(categoryExpected).Paginate(pagination).Select(d => d.ToModel <M>(mapper)).ToListAsync(), pagesQuantity))); } catch (Exception ex) { return(Maybe.Fail <Tuple <IEnumerable <M>, double> >(ex.Message)); } }
public PaginationModel Pagination(int collectionCount, int pageNumber, int pageSize) { try { int count = collectionCount; int CurrentPage = pageNumber; int PageSize = pageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var PreviousPage = CurrentPage > 1 ? "Yes" : "No"; var NextPage = CurrentPage < TotalPages ? "Yes" : "No"; var model = new PaginationModel() { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage = PreviousPage, nextPage = NextPage }; return(model); } catch (Exception ex) { return(null); } }
public static MvcHtmlString BuildGallery(this AjaxHelper helper, PaginationModel <ImageLikesModel> model, int tagId, string targetId) { Initialization(model, tagId, targetId); return(new MvcHtmlString(BuildHtml(helper) + BuildScript(ActionName))); }
public HttpResponseMessage GetAllLocalities(PaginationModel paging) { ResponseStatus response = new ResponseStatus(); try { var data = _repository.GetAllLocalities(paging.PageSize, paging.PageNumber); if (data.Count() > 0) { response.isSuccess = true; response.serverResponseTime = System.DateTime.Now; return(Request.CreateResponse(HttpStatusCode.OK, new { data, response })); } else { response.isSuccess = false; response.serverResponseTime = System.DateTime.Now; return(Request.CreateResponse(HttpStatusCode.BadRequest, new { response })); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Something Worng !", ex)); } }
public static IQueryable <T> Paginar <T>(this IQueryable <T> queryable, PaginationModel pagination) { return(queryable .Skip((pagination.Pagina - 1) * pagination.CantidadAMostrar) .Take(pagination.CantidadAMostrar)); }
public PricingModel GetItemsByThreshold(decimal threshold, int page, int perPage) { var items = PartsOverThreshold(threshold) .OrderBy(x => x.InventoryId) .Skip((page - 1) * perPage) .Take(perPage) .ToList() .Select(x => new PricingItemModel { MyPrice = x.MyPrice, AveragePrice = x.Pricing.AveragePrice, Name = WebUtility.HtmlDecode(x.Part.Name), Number = x.Part.Number, ColourName = x.ColourName, Colour = _apiService.GetColour(x.ColourId), Location = x.Location, PriceLastUpdated = x.Pricing.LastUpdated, InvLastUpdated = x.LastUpdated, Image = x.Image, ItemType = x.Part.ItemType, Category = x.Part.CategoryId, Quantity = x.Quantity, InventoryId = x.InventoryId }) .ToList(); var pagination = new PaginationModel(PartsOverThreshold(threshold).Count(), page, perPage); return(new PricingModel { Items = items, Pagination = pagination }); }
public ApiPagingListResponse <BookModel> SearchBooks(SearchBookModel search, int pageIndex = 0, int pageSize = 25) { //查询满足条件的图书 var query = this.BookService.SearchBooks(search, pageIndex, pageSize); //查询结果 var result = new PaginationModel <BookModel>(); result.Result = query.Result; //分页 result.Page = new Page() { PageIndex = query.PageIndex, PageSize = query.PageSize, TotalPages = query.TotalPages, TotalCount = query.TotalCount }; return(new ApiPagingListResponse <BookModel> { Result = query.Result, Page = result.Page }); }
/// <summary> /// Creates a paginated entity model used for the MinistriesController.Index view /// </summary> /// <param name="model">Pagination model for ministries</param> /// <param name="pageNumber">The page number to return</param> /// <returns></returns> public static void GetPaginatedMinistries(this PaginationModel <MinistryModel> model, int pageNumber = 1) { try { using (var db = new DbContextHelper()) { var data = (from m in db.Ministries orderby m.Name select new MinistryModel { Id = m.Id, IdKey = m.IdKey, Name = m.Name, Description = m.Description, }) .OrderBy(model.SortOptions.Column, model.SortOptions.Direction) .ToList(); model.Data = new CustomPagination <MinistryModel>(data, pageNumber, 20, data.Count); } } catch (Exception ex) { LogHelper.LogFatalError("ManageMinistryModelHelper.GetPaginatedMinistries", ex); throw ex; } }
public async Task <IActionResult> Peers(PaginationModel pagination) { var user = await GetCurrentUserAsync(); ViewData["Controller"] = "Admin"; ViewData["Action"] = nameof(Peers); var peers = new List <PeerViewModel>(); foreach (var p in await _peers.GetPeers()) { var client = await _peers.Open(p.Address, p.AddressPort); peers.Add(new PeerViewModel() { Peer = p, //await _auth.GetKeyPair(p.PublicKey) Stats = ((await client.Get(new ActivityStreamFilter("outbox"))) as Peer)?.stats, }); } return(View(new PeersViewModel() { MyProfile = user, Peers = peers // pagination })); }
public PagingAndSortingModel(string sortColumn) { Sorting = new SortingModel { SortOrder = sortColumn, SortDirection = SortDirection.Asc }; Paging = new PaginationModel { ItemsPerPage = 10, CurrentPage = 1 }; }
public PaginationModel<UserActivity> History(int currentPage, int pageSize) { PaginationModel<UserActivity> result = null; using (var uow = _unitOfWorkFactory.Create()) { var query = uow.GetRepository .Query<UserActivity>() .OrderByDescending(ua => ua.ActivityDate); result = new PaginationModel<UserActivity>(query, currentPage, pageSize); } return result; }
public ActionResult GetContainerTypeList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; var dataList = dalContainerType.GetDataByPageDynamic(pageIndex, pageSize, out totalCount , " LXBH ", null); //数据组装到viewModel var info = new PaginationModel(dataList,totalCount); return this.JsonFormat(info, JsonRequestBehavior.AllowGet); }
public static PaginationModel<ArticleModel> GetPaginatedArticle(PaginationModel<ArticleModel> model = null, int pageNumber = 1) { if (model == null) model = new PaginationModel<ArticleModel>(Constants.Sort_Column_Start, SortDirection.Descending); DateTime start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); DateTime end = DateTime.Now; model.GetPaginatedArticles(pageNumber, start, end); model.SubTitle = "Current News"; model.PageTitle = "Holy Angels Current News"; return model; }
public ActionResult GetExecutingPathList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; var dataList = dalExecutionPath.GetDataByPageDynamic( pageIndex, pageSize, out totalCount, " QSJD ", ""); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public ActionResult GetBusinessTaskList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; var dataList = dalBusinessTasks.GetDataByPageDynamic( pageIndex, pageSize, out totalCount, " DJBH ", ""); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public static MvcHtmlString Pagination(this HtmlHelper htmlHelper, PaginationModel pmodel, Func<int, string> pageUrl) { StringBuilder sb = new StringBuilder(); for (int i = 1; i <= pmodel.TotalPages; i++) { TagBuilder tag = new TagBuilder("a"); tag.MergeAttribute("href", pageUrl(i)); tag.InnerHtml = i.ToString(); if (i == pmodel.CurrentPage) { tag.AddCssClass("selected"); tag.AddCssClass("btn-primary"); } tag.AddCssClass("btn btn-default"); sb.Append(tag.ToString()); } return MvcHtmlString.Create(sb.ToString()); }
/// <summary> /// Initializes the view model /// </summary> /// <param name="rendering">The rendering</param> /// <param name="products">The list of child products</param> /// <param name="searchOptions">Any search options used to find products in this category</param> public void Initialize(Rendering rendering, SearchResults products, CommerceSearchOptions searchOptions) { base.Initialize(rendering); this.QueryStringToken = StorefrontConstants.QueryStrings.Paging; int itemsPerPage = (searchOptions != null) ? searchOptions.NumberOfItemsToReturn : 20; if (products != null) { var alreadyShown = products.CurrentPageNumber * itemsPerPage; Pagination = new PaginationModel { PageNumber = products.CurrentPageNumber, TotalResultCount = products.TotalItemCount, NumberOfPages = products.TotalPageCount, PageResultCount = itemsPerPage, StartResultIndex = alreadyShown + 1, EndResultIndex = System.Math.Min(products.TotalItemCount, alreadyShown + itemsPerPage) }; } }
public static MvcHtmlString BuildPaginationWithSkippingPages(this HtmlHelper helper, PaginationModel paginationModel, Func<int, string> linkFunc) { if (paginationModel.PagesTotal <= 8) { return helper.BuildPagination(paginationModel, linkFunc); } MultiLevelHtmlTag divTag = new MultiLevelHtmlTag("div"); divTag.AddCssClass("pagination"); MultiLevelHtmlTag ulTag = new MultiLevelHtmlTag("ul"); bool previusPageWasSkipped = false; for (int i = 1; i <= paginationModel.PagesTotal; i++) { bool skipPage = (i != 1 && Math.Abs(paginationModel.CurrentPage - i) > 2 && i != paginationModel.PagesTotal); if (previusPageWasSkipped && skipPage) { continue; } previusPageWasSkipped = skipPage; MultiLevelHtmlTag liTag = new MultiLevelHtmlTag("li"); if (i == paginationModel.CurrentPage) { liTag.AddCssClass("active"); } else if (skipPage) { liTag.AddCssClass("disabled"); } MultiLevelHtmlTag aTag = new MultiLevelHtmlTag("a"); aTag.Attributes.Add("href", skipPage ? "#" : linkFunc(i)); aTag.SetInnerText(skipPage ? "..." : i.ToString(CultureInfo.InvariantCulture)); liTag.Add(aTag); ulTag.Add(liTag); } divTag.Add(ulTag); return MvcHtmlString.Create(divTag.ToString()); }
internal static PlaceListViewModel Map( UrlHelper urlHelper, PlacePaginationResponse response, int pageSize = 10, int pageNumber = 1, string sortOrder = "PlaceName", bool sortAscending = true, int PlaceTypeId = 2) { var model = new PlaceListViewModel(); model.Places = response.Result; model.PageSize = pageSize; model.PageNumber = pageNumber; model.SortOrder = sortOrder; model.SortAscending = sortAscending; model.TotalPages = response.TotalPages; model.PlaceTypeId = PlaceTypeId; PaginationModel pageModel = new PaginationModel(); pageModel.TotalPages = response.TotalPages; pageModel.PageNumber = pageNumber; pageModel.PageSize = pageSize; pageModel.SortOrder = sortOrder; pageModel.SortAscending = sortAscending; pageModel.PlaceTypeId = PlaceTypeId; model.Pagination = Pagination.CreatePaginationList(pageModel, urlHelper); return model; }
/// <summary> /// /// </summary> /// <param name="rows"></param> /// <param name="page"></param> /// <param name="codeType">类型代码</param> /// <returns></returns> public ActionResult GetCodeList(int? rows, int? page, string codeType) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; string filter = null; if (!string.IsNullOrEmpty(codeType)) { filter = string.Format("LXDM = \"{0}\" ", codeType) ; // f => (f.LXDM.Equals(codeType, StringComparison.CurrentCultureIgnoreCase)); } var dataList = dalCode.GetDataByPageDynamic(pageIndex, pageSize, out totalCount , "SZ", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public static MvcHtmlString BuildPagination(this HtmlHelper helper, PaginationModel paginationModel, Func<int, string> linkFunc) { MultiLevelHtmlTag divTag = new MultiLevelHtmlTag("div"); divTag.AddCssClass("pagination"); MultiLevelHtmlTag ulTag = new MultiLevelHtmlTag("ul"); for (int i = 1; i <= paginationModel.PagesTotal; i++) { MultiLevelHtmlTag liTag = new MultiLevelHtmlTag("li"); if (i == paginationModel.CurrentPage) { liTag.AddCssClass("active"); } MultiLevelHtmlTag aTag = new MultiLevelHtmlTag("a"); aTag.Attributes.Add("href", linkFunc(i)); aTag.SetInnerText(i.ToString(CultureInfo.InvariantCulture)); liTag.Add(aTag); ulTag.Add(liTag); } divTag.Add(ulTag); return MvcHtmlString.Create(divTag.ToString()); }
public ActionResult GetRoleUserList(string roleid) { //var info = new PaginationModel<IMS_UP_YH>(); //var info = new PaginationModel(); //PaginationModel info; if (string.IsNullOrEmpty(roleid)) { //info.total = 0; //info.rows = new List<IMS_UP_YH>(); // 解决easyui length的问题 //info.SetRows( new List<IMS_UP_YH>()); var nullInfo = new PaginationModel(new List<IMS_UP_YH>(),0); return this.JsonFormat(nullInfo); } var data = dalRoleUser.GetUserList(roleid); //info.total = data.Count; //info.SetRows(data); //info.rows = data; var info = new PaginationModel(data,0); return this.JsonFormat(info); }
/// <summary> /// Initializes the view model /// </summary> /// <param name="rendering">The rendering</param> /// <param name="products">The list of child products</param> /// <param name="sortFields">The fields to allow sorting on</param> /// <param name="searchOptions">Any search options used to find products in this category</param> public void Initialize(Rendering rendering, SearchResults products, IEnumerable<CommerceQuerySort> sortFields, CommerceSearchOptions searchOptions) { base.Initialize(rendering); int itemsPerPage = (searchOptions != null) ? searchOptions.NumberOfItemsToReturn : 0; if (products != null) { var alreadyShown = products.CurrentPageNumber * searchOptions.NumberOfItemsToReturn; Pagination = new PaginationModel { PageNumber = products.CurrentPageNumber, TotalResultCount = products.TotalItemCount, NumberOfPages = products.TotalPageCount, PageResultCount = itemsPerPage, StartResultIndex = alreadyShown + 1, EndResultIndex = System.Math.Min(products.TotalItemCount, alreadyShown + itemsPerPage) }; } SortFields = sortFields ?? Enumerable.Empty<CommerceQuerySort>(); }
public virtual PaginationModel BuildPaginationModel(Func<int, string> generateUrl) { var pageCount = (int)Math.Ceiling(totalItemCount / (double)pageSize); var model = new PaginationModel { PageSize = this.pageSize, CurrentPage = this.currentPage, TotalItemCount = this.totalItemCount, PageCount = pageCount }; // First page if (this.pagerOptions.DisplayFirstAndLastPage) { model.PaginationLinks.Add(new PaginationLink { Active = (currentPage > 1 ? true : false), DisplayText = this.pagerOptions.FirstPageText, DisplayTitle = this.pagerOptions.FirstPageTitle, PageIndex = 1, Url = generateUrl(1) }); } // Previous page var previousPageText = this.pagerOptions.PreviousPageText; model.PaginationLinks.Add(currentPage > 1 ? new PaginationLink { Active = true, DisplayText = previousPageText, DisplayTitle = this.pagerOptions.PreviousPageTitle, PageIndex = currentPage - 1, Url = generateUrl(currentPage - 1) } : new PaginationLink { Active = false, DisplayText = previousPageText }); var start = 1; var end = pageCount; var nrOfPagesToDisplay = this.pagerOptions.MaxNrOfPages; if (pageCount > nrOfPagesToDisplay) { var middle = (int)Math.Ceiling(nrOfPagesToDisplay / 2d) - 1; var below = (currentPage - middle); var above = (currentPage + middle); if (below < 2) { above = nrOfPagesToDisplay; below = 1; } else if (above > (pageCount - 2)) { above = pageCount; below = (pageCount - nrOfPagesToDisplay + 1); } start = below; end = above; } if (start > 1) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 1, DisplayText = "1", Url = generateUrl(1) }); if (start > 3) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 2, DisplayText = "2", Url = generateUrl(2) }); } if (start > 2) { model.PaginationLinks.Add(new PaginationLink { Active = false, DisplayText = "...", IsSpacer = true }); } } for (var i = start; i <= end; i++) { if (i == currentPage || (currentPage <= 0 && i == 1)) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, IsCurrent = true, DisplayText = i.ToString() }); } else { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, DisplayText = i.ToString(), Url = generateUrl(i) }); } } if (end < pageCount) { if (end < pageCount - 1) { model.PaginationLinks.Add(new PaginationLink { Active = false, DisplayText = "...", IsSpacer = true }); } if (pageCount - 2 > end) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount - 1, DisplayText = (pageCount - 1).ToString(), Url = generateUrl(pageCount - 1) }); } model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount, DisplayText = pageCount.ToString(), Url = generateUrl(pageCount) }); } // Next page var nextPageText = this.pagerOptions.NextPageText; model.PaginationLinks.Add(currentPage < pageCount ? new PaginationLink { Active = true, PageIndex = currentPage + 1, DisplayText = nextPageText, DisplayTitle = this.pagerOptions.NextPageTitle, Url = generateUrl(currentPage + 1) } : new PaginationLink { Active = false, DisplayText = nextPageText }); // Last page if (this.pagerOptions.DisplayFirstAndLastPage) { model.PaginationLinks.Add(new PaginationLink { Active = (currentPage < pageCount ? true : false), DisplayText = this.pagerOptions.LastPageText, DisplayTitle = this.pagerOptions.LastPageTitle, PageIndex = pageCount, Url = generateUrl(pageCount) }); } // AjaxOptions if (pagerOptions.AjaxOptions != null) { model.AjaxOptions = pagerOptions.AjaxOptions; } model.Options = pagerOptions; return model; }
/// <summary> /// /// </summary> /// <param name="rows"></param> /// <param name="page"></param> /// <param name="codeType">类型代码</param> /// <returns></returns> public ActionResult GetCodeTypeList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; string filter = null; var dataList = dalCodeType.GetDataByPageDynamic(pageIndex, pageSize, out totalCount , "LXMC", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); //var info = new PaginationModel(); //info.SetRows(dataList); //info.total = totalCount; //info.rows = dataList; return this.JsonFormat(info); }
internal static IEnumerable<PaginationItemModel> CreatePaginationList(PaginationModel model, UrlHelper url) { if (url == null) { return null; } var list = new List<PaginationItemModel>(); const int defaultPagesToShow = 5; var pagesToShow = model.TotalPages < defaultPagesToShow ? model.TotalPages : defaultPagesToShow; var showPaginationControls = model.TotalPages > 1; var showNext = model.PageNumber + 1 <= model.TotalPages; var nextPageSetting = new { PageNumber = model.PageNumber + 1, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var showPrevious = model.PageNumber > 1; var previousPageSetting = new { PageNumber = model.PageNumber - 1, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var showSkipForwards = model.PageNumber + (pagesToShow / 2) < model.TotalPages && pagesToShow != model.TotalPages; int skipForwardsPageNumber = model.PageNumber + pagesToShow >= model.TotalPages ? model.TotalPages : model.PageNumber + pagesToShow; var skipForwardsPageSetting = new { PageNumber = skipForwardsPageNumber, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var showSkipBackwards = model.PageNumber > (pagesToShow / 2) + 1 && pagesToShow != model.TotalPages; int skipBackwardsPageNumber = model.PageNumber - pagesToShow <= 0 ? 1 : model.PageNumber - pagesToShow; var skipBackwardsPageSetting = new { PageNumber = skipBackwardsPageNumber, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var firstPage = new { PageNumber = 1, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var lastPage = new { PageNumber = model.TotalPages, model.PageSize, model.SortOrder, model.SortAscending, model.PlaceTypeId }; var startPage = model.TotalPages - model.PageNumber < pagesToShow / 2M ? model.TotalPages - pagesToShow + 1 : model.PageNumber - (pagesToShow / 2) < 1 ? 1 : model.PageNumber - (pagesToShow / 2); var endPage = model.PageNumber <= (pagesToShow / 2) ? pagesToShow : model.PageNumber + (pagesToShow / 2) > model.TotalPages ? model.TotalPages : model.PageNumber + (pagesToShow / 2); if (showPaginationControls) { if (model.PageNumber > 1) list.Add(new PaginationItemModel { DataPage = "1", IsSelected = false, Text = "«", Url = url.Action(model.LinkAction, model.LinkController, firstPage) }); if (showSkipBackwards) { list.Add(new PaginationItemModel { DataPage = skipBackwardsPageNumber.ToString(), IsSelected = false, Text = "...", Url = url.Action(model.LinkAction, model.LinkController, skipBackwardsPageSetting) }); } for (int i = startPage; i <= endPage; i++) { list.Add(new PaginationItemModel { DataPage = i.ToString(), IsSelected = (i == model.PageNumber), Text = i.ToString(), Url = url.Action(model.LinkAction, model.LinkController, new { PageNumber = i, PageSize = model.PageSize, SortOrder = model.SortOrder, SortAscending = model.SortAscending, PlaceTypeId = model.PlaceTypeId }) }); } if (showSkipForwards) { list.Add(new PaginationItemModel { DataPage = skipForwardsPageNumber.ToString(), IsSelected = false, Text = "...", Url = url.Action(model.LinkAction, model.LinkController, skipForwardsPageSetting) }); } if (model.PageNumber < model.TotalPages) list.Add(new PaginationItemModel { DataPage = model.TotalPages.ToString(), IsSelected = false, Text = "»", Url = url.Action(model.LinkAction, model.LinkController, lastPage) }); if (showPrevious) { list.Add(new PaginationItemModel { ListClass = "prev", DataPage = "previous", IsSelected = false, Text = "Previous", Url = url.Action(model.LinkAction, model.LinkController, previousPageSetting) }); } if (showNext) { list.Add(new PaginationItemModel { ListClass = "next", DataPage = "next", IsSelected = false, Text = "Next", Url = url.Action(model.LinkAction, model.LinkController, nextPageSetting) }); } } return list; }
public ActionResult GetItemList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //Expression<Func<IMS_CB_WL, bool>> filter = null; //System.Linq.Dynamic.DynamicExpression.ParseLambda() //var dataList = dalItem.GetDataByPage( // o => o.WLMC, // filter, // pageIndex, pageSize, out totalCount); var dataList = dalItem.GetDataByPageDynamic(pageIndex, pageSize, out totalCount, "item.WLMC", ""); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public ActionResult PaginationItems(PaginationModel model) { var list = Pagination.CreatePaginationList(model, Url); return PartialView("_Pagination", list); }
public ActionResult GetOrderList(int? rows, int? page , EnumBusinessType bizType = EnumBusinessType.None) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; string filter = null; if (bizType != EnumBusinessType.None) { filter = string.Format(" YWLX = {0} ", (int)bizType); } var dataList = dalorderform.GetDataViewByPageDynamic( pageIndex, pageSize, out totalCount , "ID", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public virtual PaginationModel BuildPaginationModel(Func<int, string> generateUrl) { var pageCount = (int)Math.Ceiling(totalItemCount / (double)pageSize); var model = new PaginationModel { PageSize = this.pageSize, CurrentPage = this.currentPage, TotalItemCount = this.totalItemCount, PageCount = pageCount }; // Previous var previousNav = "<div class='arrow-left'></div>"; model.PaginationLinks.Add(currentPage > 1 ? new PaginationLink { Active = true, DisplayText = previousNav, PageIndex = currentPage - 1, Url = generateUrl(currentPage - 1) } : new PaginationLink { Active = false, DisplayText = previousNav }); var start = 1; var end = pageCount; var nrOfPagesToDisplay = this.pagerOptions.MaxNrOfPages; if (pageCount > nrOfPagesToDisplay) { var middle = (int)Math.Ceiling(nrOfPagesToDisplay / 2d) - 1; var below = (currentPage - middle); var above = (currentPage + middle); if (below < 2) { above = nrOfPagesToDisplay; below = 1; } else if (above > (pageCount - 2)) { above = pageCount; below = (pageCount - nrOfPagesToDisplay + 1); } start = below; end = above; } if (start > 1) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 1, DisplayText = "1", Url = generateUrl(1) }); if (start > 3) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 2, DisplayText = "2", Url = generateUrl(2) }); } if (start > 2) { model.PaginationLinks.Add(new PaginationLink { Active = false, DisplayText = "...", IsSpacer = true }); } } for (var i = start; i <= end; i++) { // only show links if there are more than one page if (pageCount > 1) { if (i == currentPage || (currentPage <= 0 && i == 1)) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, IsCurrent = true, DisplayText = i.ToString() }); } else { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, DisplayText = i.ToString(), Url = generateUrl(i) }); } } } if (end < pageCount) { if (end < pageCount - 1) { model.PaginationLinks.Add(new PaginationLink { Active = false, DisplayText = "...", IsSpacer = true }); } if (pageCount - 2 > end) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount - 1, DisplayText = (pageCount - 1).ToString(), Url = generateUrl(pageCount - 1) }); } model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount, DisplayText = pageCount.ToString(), Url = generateUrl(pageCount) }); } // Next var nextNav = "<div class='arrow-right'></div>"; model.PaginationLinks.Add(currentPage < pageCount ? new PaginationLink { Active = true, PageIndex = currentPage + 1, DisplayText = nextNav, Url = generateUrl(currentPage + 1) } : new PaginationLink { Active = false, DisplayText = nextNav }); // AjaxOptions if (pagerOptions.AjaxOptions != null) { model.AjaxOptions = pagerOptions.AjaxOptions; } model.Options = pagerOptions; return model; }
public PaginationModel BuildPaginationModel(Func<int, string> generateUrl) { var model = new PaginationModel(); var pageCount = (int)Math.Ceiling(totalItemCount / (double)pageSize); // Previous model.PaginationLinks.Add(currentPage > 1 ? new PaginationLink { Active = true, DisplayText = "«", PageIndex = currentPage - 1, Url = generateUrl(currentPage - 1) } : new PaginationLink { Active = false, DisplayText = "«" }); var start = 1; var end = pageCount; var nrOfPagesToDisplay = this.pagerOptions.MaxNrOfPages; if (pageCount > nrOfPagesToDisplay) { var middle = (int)Math.Ceiling(nrOfPagesToDisplay / 2d) - 1; var below = (currentPage - middle); var above = (currentPage + middle); if (below < 2) { above = nrOfPagesToDisplay; below = 1; } else if (above > (pageCount - 2)) { above = pageCount; below = (pageCount - nrOfPagesToDisplay + 1); } start = below; end = above; } if (start > 1) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 1, DisplayText = "1", Url = generateUrl(1) }); if (start > 3) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = 2, DisplayText = "2", Url = generateUrl(2) }); } if (start > 2) { model.PaginationLinks.Add(new PaginationLink { Active = true, DisplayText = "..." }); } } for (var i = start; i <= end; i++) { if (i == currentPage || (currentPage <= 0 && i == 0)) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, IsCurrent = true, DisplayText = i.ToString() }); } else { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = i, DisplayText = i.ToString(), Url = generateUrl(i) }); } } if (end < pageCount) { if (end < pageCount - 1) { model.PaginationLinks.Add(new PaginationLink { Active = true, DisplayText = "..." }); } if (pageCount - 2 > end) { model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount - 1, DisplayText = (pageCount - 1).ToString(), Url = generateUrl(pageCount - 1) }); } model.PaginationLinks.Add(new PaginationLink { Active = true, PageIndex = pageCount, DisplayText = pageCount.ToString(), Url = generateUrl(pageCount) }); } // Next model.PaginationLinks.Add(currentPage < pageCount ? new PaginationLink { Active = true, PageIndex = currentPage + 1, DisplayText = "»", Url = generateUrl(currentPage + 1) } : new PaginationLink { Active = false, DisplayText = "»" }); // AjaxOptions if (pagerOptions.AjaxOptions != null) { model.AjaxOptions = pagerOptions.AjaxOptions; } model.Options = pagerOptions; return model; }
public ActionResult GetRoleList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //var dataList = dalRole.GetDataByPage( // o => o.JSMC, // null, // pageIndex, pageSize, out totalCount); var dataList = dalRole.GetDataByPageDynamic(pageIndex, pageSize, out totalCount, "JSMC", ""); //数据组装到viewModel //info.total = totalCount; //info.rows = dataList; var info = new PaginationModel(dataList, totalCount); //var json = Json(info); return this.JsonFormat(info); }
public ActionResult GetConditionList(int? rows, int? page, string tablename) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; string filter = string.Format(" YHID =\"{0}\" ", CurrentUser.GetCurrentUser().UserInfo.YHID); if (!string.IsNullOrEmpty(tablename)) { filter += string.Format(" and DXDM =\"{0}\" ", tablename); } var dataList = dalUserObj.GetDataByPageDynamic(pageIndex, pageSize, out totalCount , "CXMC", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info); }
public ActionResult GetLocationRelationshipList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; var dataList = dalLocationRelationship.GetDataByPageDynamic(pageSize, pageIndex, out totalCount, " LX ", ""); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info, JsonRequestBehavior.AllowGet); }
public ActionResult GetLocationTypeList(int? rows, int? page) { int totalCount = 0; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //Expression<Func<IMS_CB_WZLX, bool>> filter = null; //var dataList = dalLocationType.GetDataByPage( // n => n.LXDM, filter, pageIndex, pageSize, out totalCount); var dataList = dalLocationType.GetDataByPageDynamic(pageIndex, pageSize, out totalCount, "LXDM", ""); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); return this.JsonFormat(info, JsonRequestBehavior.AllowGet); }
public ActionResult GetModuleFunctionList(int moduleid) { var data = dalFunction.GetModuleFunctionList(moduleid); var info = new PaginationModel(data,0); //var info = new PaginationModel(); //info.total = (data != null) ? data.Count : 0; //info.rows = data; //info.SetRows(data); return this.JsonFormat(info); }
public ActionResult GetUserList(int? rows, int? page, string txt,string where) { int totalCount = 0; System.Web.Http.WebHost.HttpControllerHandler d; int pageIndex = page ?? 1; int pageSize = rows ?? 10; //if (!int.TryParse(Request.Params["rows"], out pageSize)) // pageSize = 10; //if (!int.TryParse(Request.Params["page"], out pageIndex)) // pageIndex = 1; string filter = null; if (!string.IsNullOrEmpty(where)) { filter = where; } else if (!string.IsNullOrEmpty(txt)) { filter = string.Format(" (YHID = {0} || YHM.Contains({0})) && ZT = {1} " , txt, (int)UserStateEnum.Normal); } else { filter = string.Format(" ZT = {0} " , (int)UserStateEnum.Normal); } //var dataList = dalUser.GetDataByPage( // o => o.YHID, // filter, // pageIndex, pageSize, out totalCount); var dataList = dalUser.GetDataByPageDynamic( pageIndex, pageSize, out totalCount , "YHID", filter); //数据组装到viewModel var info = new PaginationModel(dataList, totalCount); //info.total = totalCount; //info.rows = dataList; //var json = Json(info); //return json; return this.JsonFormat(info); }