Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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())));
 }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        /// <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));
            }
        }
Exemplo n.º 13
0
        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));
            }
        }
Exemplo n.º 14
0
        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));
            }
        }
Exemplo n.º 15
0
        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));
            }
        }
Exemplo n.º 16
0
 public async Task <ActionResult <IEnumerable <UserTraining> > > GetUserTrainings([FromBody] PaginationBase pagination)
 {
     return(await _context.UserTraining
            .Skip(pagination.Page *pagination.PageSize)
            .Take(pagination.PageSize)
            .ToListAsync());
 }
Exemplo n.º 17
0
        public async Task <IActionResult> GetAllChatById([FromQuery] PaginationBase paginationBase, [FromQuery] long to)
        {
            var result = await chatService.GetAllChatById(paginationBase, to);

            return(Ok(result));
        }
Exemplo n.º 18
0
 public PaginationBaseShould()
 {
     _paginationBase = new PaginationBase();
 }
Exemplo n.º 19
0
 public Task <IViewComponentResult> InvokeAsync(PaginationBase result)
 {
     return(Task.FromResult((IViewComponentResult)View("Default", result)));
 }
Exemplo n.º 20
0
 public PaginatedObjectListShould()
 {
     PaginationBase = new PaginationBase();
 }