public async Task <PaginationModel <ChatModel> > GetAllChatById(PaginationBase paginationBase, long to) { var users = new[] { userResolverService.UserId, to }; Array.Sort(users); var chatGroup = string.Join(",", users); var query = bread2BunContext.Message.Where(w => w.MessageThreaad.ChatGroup == chatGroup); var totalRecords = await query.AsNoTracking().CountAsync(); query = query.OrderBy(o => o.Id).Skip(paginationBase.Skip).Take(paginationBase.Take); var result = query.Select(s => new ChatModel { Date = s.CreatedOn, FromId = s.FromId, Message = s.Text, ToId = s.ToId, FromUserName = s.From.UserName, ToUserName = s.To.UserName }); var resultSet = await result.AsNoTracking().ToListAsync(); var resultData = new PaginationModel <ChatModel> { Details = resultSet, TotalRecords = totalRecords }; return(resultData); }
public async Task <PageList <ReviewModel> > GetAll(PaginationBase paginationBase, long userId = 0) { var query = context.Reviews.Include(i => i.Reviewer).Where(w => w.RevieweeId == (userId != 0 ? userId : userResolverService.UserId)); var totalNumberOfRecord = await query.CountAsync(); query = query.OrderByDescending(x => x.CreatedOn).Skip(paginationBase.Skip).Take(paginationBase.Take); var entities = await query.AsNoTracking().ToListAsync(); var resultData = mapper.Map <IEnumerable <ReviewModel> >(entities); foreach (var res in resultData) { res.ReviewImage = res.ReviewImage == null ? null : FolderPath.ImagePath + FolderPath.Review + res.ReviewImage; res.Reviewer.ProfilePictureImagePath = res.Reviewer.ProfilePictureImagePath == null ? null : FolderPath.ImagePath + FolderPath.ProfileImages + res.Reviewer.ProfilePictureImagePath; } var resultSet = new PageList <ReviewModel>() { Skip = paginationBase.Skip, Take = paginationBase.Take, Items = resultData, TotalRecordCount = totalNumberOfRecord }; return(resultSet); }
public async Task <ActionResult <IEnumerable <Muscle> > > GetMuscles([FromBody] PaginationBase pagination) { return(await _context.Muscle .Skip(pagination.Page *pagination.PageSize) .Take(pagination.PageSize) .ToListAsync()); }
public ActionResult GetUsers([FromQuery] PaginationBase paginationBase) { var pageUsers = _userRepository.GetPagingUser(paginationBase); if (pageUsers == null || pageUsers.Count == 0) { return(NotFound()); } else { var previousLink = pageUsers.HasPrevious ? CreateUserUri(paginationBase, PaginationResourceUriType.PreviousPage) : null; var nextLink = pageUsers.HasNext ? CreateUserUri(paginationBase, PaginationResourceUriType.NextPage) : null; var meta = new { pageUsers.TotalItemCount, pageUsers.PaginationBase.PageIndex, pageUsers.PaginationBase.PageSize, pageUsers.PageCount, PreviousPageLink = previousLink, NextPageLink = nextLink }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(meta)); return(Ok(pageUsers)); } }
public async Task <ActionResult <IEnumerable <User> > > GetUsers([FromBody] PaginationBase pagination) { return(Ok(_mapper.Map <IEnumerable <User> >(await _context.Users .Include(a => a.UserDiseases) .Skip(pagination.Page * pagination.PageSize) .Take(pagination.PageSize) .ToListAsync()))); }
public async Task <PaginatedList <TEntity> > GetPaginatedAsync(PaginationBase parameters, PropertyMapping propertyMapping, Expression <Func <TEntity, bool> > criteria) { var collectionBeforePaging = _dbContext.Query <TEntity>().Where(criteria).ApplySort(parameters.OrderBy, propertyMapping); parameters.Count = collectionBeforePaging.Count(); var items = collectionBeforePaging.Skip(parameters.PageIndex * parameters.PageSize).Take(parameters.PageSize).ToList(); var result = new PaginatedList <TEntity>(parameters, items); return(result); }
public async Task <PaginatedList <T> > GetPaginatedAsync(PaginationBase parameters, IPropertyMapping propertyMapping, Expression <Func <T, bool> > criteria) { var collectionBeforePaging = Context.Set <T>().Where(criteria).ApplySort(parameters.OrderBy, propertyMapping); var count = await collectionBeforePaging.CountAsync(); var items = await collectionBeforePaging.Skip(parameters.PageIndex *parameters.PageSize).Take(parameters.PageSize).ToListAsync(); var result = new PaginatedList <T>(parameters.PageIndex, parameters.PageSize, count, items); return(result); }
public async Task <PaginatedList <T> > GetPaginatedAsync(PaginationBase parameters, PropertyMapping propertyMapping) { var collectionBeforePaging = Context.Set <T>().ApplySort(parameters.OrderBy, propertyMapping); parameters.Count = await collectionBeforePaging.CountAsync(); var items = await collectionBeforePaging.Skip(parameters.PageIndex *parameters.PageSize).Take(parameters.PageSize).ToListAsync(); var result = new PaginatedList <T>(parameters, items); return(result); }
public async Task <IActionResult> GetAll([FromQuery] PaginationBase paginationBase) { try { var result = await reviewService.GetAll(paginationBase); return(Ok(result)); } catch (Exception ex) { return(HandleExcpetion(ex)); } }
public async Task <PaginatedList <T> > GetPaginatedAsync(PaginationBase parameters, PropertyMapping propertyMapping, Expression <Func <T, bool> > criteria, params Expression <Func <T, object> >[] includes) { var collectionBeforePaging = includes .Aggregate(Context.Set <T>().Where(criteria).ApplySort(parameters.OrderBy, propertyMapping), (current, include) => current.Include(include)); parameters.Count = await collectionBeforePaging.CountAsync(); var items = await collectionBeforePaging.Skip(parameters.PageIndex *parameters.PageSize).Take(parameters.PageSize).ToListAsync(); var result = new PaginatedList <T>(parameters, items); return(result); }
private IEnumerable <LinkViewModel> CreateLinksForVehicles(PaginationBase parameters, bool hasPrevious, bool hasNext) { var links = new List <LinkViewModel> { new LinkViewModel(CreateVehicleUri(parameters, PaginationUriType.CurrentPage), "self", "GET") }; if (hasPrevious) { links.Add(new LinkViewModel(CreateVehicleUri(parameters, PaginationUriType.PreviousPage), "previous_page", "GET")); } if (hasNext) { links.Add(new LinkViewModel(CreateVehicleUri(parameters, PaginationUriType.NextPage), "next_page", "GET")); } return(links); }
/// <summary> /// 创建向前向后url /// </summary> /// <param name="userPagination">分页实体</param> /// <param name="paginationResourceUriType">分页url类型</param> /// <returns></returns> string CreateUserUri(PaginationBase userPagination, PaginationResourceUriType paginationResourceUriType) { switch (paginationResourceUriType) { case PaginationResourceUriType.PreviousPage: var previousParmeters = userPagination.Clone(); previousParmeters.PageIndex--; var res = _urlHelper.RouteUrl(previousParmeters); return(res); case PaginationResourceUriType.NextPage: var nextParmeters = userPagination.Clone(); nextParmeters.PageIndex++; return(_urlHelper.RouteUrl(nextParmeters)); default: return(_urlHelper.RouteUrl(userPagination)); } }
private string CreateVehicleUri(PaginationBase parameters, PaginationUriType uriType) { switch (uriType) { case PaginationUriType.PreviousPage: var previousParameters = parameters.Clone(); previousParameters.PageIndex--; return(_urlHelper.Link("GetPagedVehicles", previousParameters)); case PaginationUriType.NextPage: var nextParameters = parameters.Clone(); nextParameters.PageIndex++; return(_urlHelper.Link("GetPagedVehicles", nextParameters)); case PaginationUriType.CurrentPage: default: return(_urlHelper.Link("GetPagedVehicles", parameters)); } }
private string CreateBuildingUri(PaginationBase parameters, PaginationResourceUriType_uriType uriType) { switch (uriType) { case PaginationResourceUriType_uriType.pagePre: var previousParameters = parameters.Clone(); previousParameters.PageIndex--; return(_urlHelper.Link("GetBuildings", previousParameters)); case PaginationResourceUriType_uriType.pageCurren: var currentParameters = parameters.Clone(); return(_urlHelper.Link("GetBuildings", currentParameters)); case PaginationResourceUriType_uriType.pageNext: var nextParameters = parameters.Clone(); nextParameters.PageIndex++; return(_urlHelper.Link("GetBuildings", nextParameters)); default: return(_urlHelper.Link("GetBuildings", parameters)); } }
private string CreateCountryUri(PaginationBase paginationBase, PaginationResourceUriType type) { switch (type) { case PaginationResourceUriType.PreviousPage: var pre = new { pageIndex = --paginationBase.PageIndex, pageSize = paginationBase.PageSize, orderBy = paginationBase.OrderBy, fields = paginationBase.Fields }; return(urlHelper.Link("GetCountries", pre)); case PaginationResourceUriType.NextPage: var next = new { pageIndex = ++paginationBase.PageIndex, pageSize = paginationBase.PageSize, orderBy = paginationBase.OrderBy, fields = paginationBase.Fields }; return(urlHelper.Link("GetCountries", next)); case PaginationResourceUriType.CurrentPage: default: var current = new { pageIndex = paginationBase.PageIndex, pageSize = paginationBase.PageSize, orderBy = paginationBase.OrderBy, fields = paginationBase.Fields }; return(urlHelper.Link("GetCountries", current)); } }
public async Task <ActionResult <IEnumerable <UserTraining> > > GetUserTrainings([FromBody] PaginationBase pagination) { return(await _context.UserTraining .Skip(pagination.Page *pagination.PageSize) .Take(pagination.PageSize) .ToListAsync()); }
public async Task <IActionResult> GetAllChatById([FromQuery] PaginationBase paginationBase, [FromQuery] long to) { var result = await chatService.GetAllChatById(paginationBase, to); return(Ok(result)); }
public PaginationBaseShould() { _paginationBase = new PaginationBase(); }
public Task <IViewComponentResult> InvokeAsync(PaginationBase result) { return(Task.FromResult((IViewComponentResult)View("Default", result))); }
public PaginatedObjectListShould() { PaginationBase = new PaginationBase(); }