Exemplo n.º 1
0
        public async Task <IActionResult> GetDiscussionsForGroupAsync(Guid?userId, string slug, [FromQuery] PaginationFilter filter, CancellationToken cancellationToken)
        {
            var route       = Request.Path.Value;
            var discussions = await _discussionDataProvider.GetDiscussionsForGroupAsync(userId, slug, filter.Offset, filter.Limit, cancellationToken);

            var total = await _discussionDataProvider.GetDiscussionCountForGroupAsync(slug, cancellationToken);

            var pagedResponse = PaginationHelper.CreatePagedResponse(discussions, filter, total, route);

            return(Ok(pagedResponse));
        }
Exemplo n.º 2
0
 public PagedResponse(T data, PaginationFilter pageFilter)
 {
     Data       = data;
     PageNumber = pageFilter.PageNumber;
     PageSize   = pageFilter.PageSize;
 }
        public async Task <ActionResult <PagedResponse <SubtaskResponseDto> > > GetSubtasks([FromQuery] PaginationFilter paginationFilter)
        {
            var subtasks = await subtaskService.GetAllAsync(paginationFilter);

            var pagedResponse = new PagedResponse <SubtaskResponseDto>()
            {
                CurrentPage = subtasks.CurrentPage,
                PageSize    = subtasks.PageSize,
                TotalItems  = subtasks.TotalItems,
                TotalPages  = subtasks.TotalPages,
                Items       = mapper.Map <IEnumerable <SubtaskResponseDto> >(subtasks.Items)
            };

            return(Ok(pagedResponse));
        }
Exemplo n.º 4
0
 public DetailsDiscussionQuery(Guid id, PaginationFilter filter, string path)
 {
     Id     = id;
     Filter = filter;
     Path   = path;
 }
Exemplo n.º 5
0
        public async Task <ActionResult <IEnumerable <TaskGroupResponseDto> > > GetTaskGroupsByProjectId([FromQuery] PaginationFilter paginationQuery, string projectId)
        {
            var taskGroups = await taskGroupService.GetByProjectIdAsync(paginationQuery, Guid.Parse(projectId));

            return(Ok(mapper.Map <List <TaskGroupResponseDto> >(taskGroups)));
        }
        public IActionResult GetAllUsers(PaginationFilter filter)
        {
            PagedResponse <List <UserDTO> > userList = repository.GetAllUsers(filter);

            return(new ObjectResult(userList));
        }
 public async Task <IActionResult> ObterTodos([FromQuery] PaginationFilter filter)
 {
     return(Ok(ResponseHandler <FormaPagamento, FormaPagamentoViewModel>(await _formaPagamentoService.ObterTodos(filter), filter)));
 }
Exemplo n.º 8
0
        public async Task <List <TodoDTO> > GetTodosAsync(GetTodoQuery filter = null, PaginationFilter paginationFilter = null)
        {
            var queryable = _todoRepository.AsQueryable();

            if (paginationFilter == null)
            {
                var check = await queryable.Include(x => x.Tag).ToListAsync();

                return(check.ConvertTo().ToList());
            }
            queryable = AddFiltersOnQuery(filter, queryable);
            var skip     = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;
            var listTodo = await queryable.Include(x => x.Tag).Skip(skip).Take(paginationFilter.PageSize).ToListAsync();

            return(listTodo.ConvertTo().ToList());
        }
        public static PagedResponse <List <T> > CreatePagedReponse <T>(List <T> pagedData, PaginationFilter validFilter, int totalRecords, IUriService uriService, string route)
        {
            var respose           = new PagedResponse <List <T> >(pagedData, validFilter.PageNumber, validFilter.PageSize);
            var totalPages        = ((double)totalRecords / (double)validFilter.PageSize);
            int roundedTotalPages = Convert.ToInt32(Math.Ceiling(totalPages));

            respose.NextPage =
                validFilter.PageNumber >= 1 && validFilter.PageNumber < roundedTotalPages
                ? uriService.GetPageUri(new PaginationFilter(validFilter.PageNumber + 1, validFilter.PageSize, validFilter.SearchQuery), route)
                : null;

            respose.PreviousPage =
                validFilter.PageNumber - 1 >= 1 && validFilter.PageNumber <= roundedTotalPages
                ? uriService.GetPageUri(new PaginationFilter(validFilter.PageNumber - 1, validFilter.PageSize, validFilter.SearchQuery), route)
                : null;

            respose.FirstPage    = uriService.GetPageUri(new PaginationFilter(1, validFilter.PageSize, validFilter.SearchQuery), route);
            respose.LastPage     = uriService.GetPageUri(new PaginationFilter(roundedTotalPages, validFilter.PageSize, validFilter.SearchQuery), route);
            respose.TotalPages   = roundedTotalPages;
            respose.TotalRecords = totalRecords;
            return(respose);
        }
Exemplo n.º 10
0
 public async Task <ActionResult <PagedResponse <List <AllClipsDto> > > > SearchClipByGameName([FromQuery] string gameName, [FromQuery] PaginationFilter filter)
 {
     return(await _mediator.Send(new SearchClipByGameName.Query
     {
         GameName = gameName, PaginationFilter = filter, Route = Request.Path.Value
     }));
 }
Exemplo n.º 11
0
 public async Task <ActionResult <PagedResponse <List <AllGamesDto> > > > SearchClipByGameNo([FromQuery] PaginationFilter filter)
 {
     return(await _mediator.Send(new SearchGamesByClipNo.Query {
         PaginationFilter = filter, Route = Request.Path.Value
     }));
 }
Exemplo n.º 12
0
        public static PagedResponse <List <T> > ToPagedResponse <T>(List <T> pagedData, PaginationFilter filter, int totalRecords)
        {
            var response   = new PagedResponse <List <T> >(pagedData, filter.PageNumber, filter.PageSize);
            var totalPages = ((double)totalRecords / (double)filter.PageSize);

            response.TotalPages   = Convert.ToInt32(Math.Ceiling(totalPages));
            response.TotalRecords = totalRecords;

            return(response);
        }
Exemplo n.º 13
0
 public ProductCategoriesFilter()
 {
     PaginationFilter = new PaginationFilter();
 }
Exemplo n.º 14
0
        public async Task <ActionResult <PaginationFilter <Order> > > GetOrdersByPagination([FromQuery] PaginationFilter <Order> filter, string orderBy)
        {
            var orders = from o in _context.Orders
                         select o;

            orderBy = String.IsNullOrEmpty(orderBy) ? "created_at" : orderBy;
            switch (orderBy)
            {
            case "created_at":
                orders = orders.OrderByDescending(p => p.OrderDate);
                break;

            case "updated_at":
                orders = orders.OrderByDescending(p => p.UpdatedAt);
                break;
            }
            var pagedData = await orders.Skip((filter.PageNumber - 1) *filter.PageSize)
                            .Take(filter.PageSize)
                            .ToListAsync();

            var totalPages = (int)Math.Ceiling(orders.Count() / (double)filter.PageSize);

            return(new PaginationFilter <Order>
            {
                PageNumber = filter.PageNumber,
                PageSize = filter.PageSize,
                PagedData = pagedData,
                TotalPages = totalPages
            });
        }
Exemplo n.º 15
0
        public static PagedResponse <T> CreatePaginationResponse <T>(IUriService uriService, PaginationFilter pagination, List <T> response)
        {
            //lấy uri để query lấy post ở next page
            var nextPage = pagination.PageNumber >= 1 ? uriService
                           .GetAllPostsUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString() : null;

            //lấy uri để query lấy post ở previous page
            var previousPage = pagination.PageNumber - 1 >= 1 ? uriService
                               .GetAllPostsUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString() : null;

            return(new PagedResponse <T>
            {
                Data = response,
                NextPage = response.Any() ? nextPage : null,
                PreviousPage = previousPage,
                PageNumber = pagination.PageNumber >= 1 ? pagination.PageNumber : (int?)null,
                PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null
            });
        }
Exemplo n.º 16
0
 public IEnumerable <WordEntity> GetWords(PaginationFilter filter)
 {
     return(_words
            .Skip((filter.Page ?? 1 - 1) * filter.PageSize)
            .Take(filter.PageSize));
 }
Exemplo n.º 17
0
 public async Task <ActionResult <PagedResponse <List <TagDto> > > > List([FromQuery] PaginationFilter paginationFilter)
 {
     return(Ok(await Mediator.Send(new ListTagQuery(paginationFilter, Request.Path.Value))));
 }
Exemplo n.º 18
0
        public async Task <ICollection <Category> > GetAllAsync(PaginationFilter paginationFilter)
        {
            var skip = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;

            return(await dbContext.Categories.Skip(skip).Take(paginationFilter.PageSize).ToListAsync());
        }
Exemplo n.º 19
0
        public static PagedResponse <T> CreatePaginatedResponse <T>(IUserService uriService, PaginationFilter paginationFilter, List <T> listResponse)
        {
            var nextPage = paginationFilter.PageNumber > 1 ?
                           uriService.GetAllUri(new PaginationQuery(paginationFilter.PageNumber + 1, paginationFilter.PageSize)).ToString() :
                           null;

            var prevoiousPage = paginationFilter.PageNumber - 1 > 1 ?
                                uriService.GetAllUri(new PaginationQuery(paginationFilter.PageNumber - 1, paginationFilter.PageSize)).ToString() :
                                null;

            return(new PagedResponse <T>
            {
                Data = listResponse,
                PageNumber = paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null,
                PageSize = paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null,
                NextPage = listResponse.Any() ? nextPage : null,
                PreviousPage = prevoiousPage
            });
        }
Exemplo n.º 20
0
        public static PagedResponse <T> CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter pagination, List <T> response)
        {
            var nextPage = pagination.PageNumber >= 1
               ? uriService.GetAllUsersUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString()
               : null;

            var previousPage = pagination.PageNumber - 1 >= 1
                ? uriService.GetAllUsersUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString()
                : null;

            return(new PagedResponse <T>
            {
                Data = response,
                PageNumber = pagination.PageNumber >= 1 ? pagination.PageNumber : (int?)null,
                PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null,
                NextPage = response.Count == pagination.PageSize ? nextPage : null,
                PreviousPage = previousPage
            });
        }
Exemplo n.º 21
0
        public async Task <IEnumerable <Post> > GetFilteredAndPagedFromThreadAsync(string postName, string threadId, PaginationFilter paginationFilter, string orderByQueryString)
        {
            IQueryable <Post> query = _context.Posts.Include(p => p.Coments).ThenInclude(p => p.SubComents).Include(p => p.Thread).Include(p => p.User).Include(p => p.Image);

            if (!string.IsNullOrEmpty(postName))
            {
                query = query.Where(p => p.Name.Contains(postName));
            }
            if (!string.IsNullOrEmpty(threadId))
            {
                query = query.Where(p => p.ThreadId == threadId);
            }
            query = query.OrderBy(sorting.ApplySort(orderByQueryString));
            if (paginationFilter != null)
            {
                var skip = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;
                query = query.Skip(skip).Take(paginationFilter.PageSize);
            }
            return(await query.AsNoTracking().ToListAsync());
        }
Exemplo n.º 22
0
 public Task <IEnumerable <User> > GetUsersAsync(PaginationFilter pagination = null)
 {
     return(_store.GetAllAsync(pagination));
 }
Exemplo n.º 23
0
        public static PaginationResponse <T> CreateResponse <T>(IUriService uriService, List <T> postsResponse, PaginationFilter paginationFilter)
        {
            var prevPath = paginationFilter.PageNumber > 1
                ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber - 1, paginationFilter.PageSize)).ToString()
                : null;

            var nextPath =
                uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber + 1, paginationFilter.PageSize))
                .ToString();

            return(new PaginationResponse <T>
            {
                Data = postsResponse,
                PageSize = paginationFilter.PageSize,
                PageNumber = paginationFilter.PageNumber,
                PreviousPage = prevPath,
                NextPage = postsResponse.Any() ? nextPath : null
            });
        }
Exemplo n.º 24
0
 public async Task <PagedList <CountryDto> > GetAsync(PaginationFilter paginationFilter)
 {
     return(await _countryRepository.Get()
            .ProjectTo <CountryDto>(_mapper.ConfigurationProvider)
            .ToPagedListAsync(paginationFilter));
 }
        public async Task <IActionResult> GetAllUsers([FromQuery] PaginationFilter filter)
        {
            var users = await _userManager.GetAllUsersAsync(filter);

            return(this.Ok(users));
        }
Exemplo n.º 26
0
        private static Func <IQueryable <Appointment>, IOrderedQueryable <Appointment> > OrderBy(PaginationFilter filter)
        {
            Func <IQueryable <Appointment>, IOrderedQueryable <Appointment> > orderBy;

            switch (filter.OrderBy)
            {
            case "date":
                orderBy = apps => apps.OrderBy(a => a.AppointmentDate);
                break;

            case "date_desc":
                orderBy = apps => apps.OrderByDescending(a => a.AppointmentDate);
                break;

            default:
                orderBy = apps => apps.OrderBy(a => a.Id);
                break;
            }

            return(orderBy);
        }
Exemplo n.º 27
0
        public async Task <List <Expense> > GetExpensesAsync(GetAllExpensesFilter expensesFilter = null, PaginationFilter paginationFilter = null, string userId = null)
        {
            var queryable = _dataContext.Expenses.AsQueryable();

            queryable = AddFiltersOnQueryable(expensesFilter, queryable);

            if (paginationFilter == null)
            {
                return(await queryable.Include(x => x.Tags).ToListAsync());
            }

            if (userId != null)
            {
                queryable = queryable.Where(x => x.UserId == userId);
            }

            var skip = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;

            return(await queryable.Include(x => x.Tags).Skip(skip).Take(paginationFilter.PageSize).ToListAsync());
        }
Exemplo n.º 28
0
        public async Task <ActionResult <IEnumerable <object> > > GetLocationRestaurantByName([FromQuery] PaginationFilter filter, string name)
        {
            var route       = Request.Path.Value;
            var validFilter = new PaginationFilter(filter.PageNumber, filter.PageSize);
            var pagedData   = await _context.LocationRest
                              .Where(w => w._city.Name == name)
                              .Skip((validFilter.PageNumber - 1) * validFilter.PageSize)
                              .Take(validFilter.PageSize)
                              .ToListAsync();

            var totalRecords = await _context.LocationRest.CountAsync();

            var pagedReponse = PaginationHelper.CreatePagedReponse(pagedData, validFilter, totalRecords, uriService, route);

            return(Ok(pagedReponse));
        }
Exemplo n.º 29
0
        public static BaseResponse <IEnumerable <T> > CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter pagination, IEnumerable <T> response)
        {
            var nextPage = pagination.PageNumber >= 1
                ? uriService.GetPagedUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString()
                : null;

            var previousPage = pagination.PageNumber - 1 >= 1
                ? uriService.GetPagedUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString()
                : null;

            return(new BaseResponse <IEnumerable <T> >
            {
                Data = response,
                Pagination = new Pagination
                {
                    PageNumber = pagination.PageNumber >= 1 ? pagination.PageNumber : (int?)null,
                    PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null,
                    NextPage = response.Any() ? nextPage : null,
                    PreviousPage = previousPage,
                },
                Success = true,
            });
        }
Exemplo n.º 30
0
        public async Task <IActionResult> GetPersonalMessages([Required][ValidateGuid][FromRoute] string userId, [FromQuery] PaginationFilter filter)
        {
            try
            {
                var messages = await _messagesService.GetPersonalMessagesAsync(userId, filter);

                return(Ok(messages));
            }
            catch (ItemNotFoundException e)
            {
                return(NotFound(new ApiError(e.Message, HttpStatusCode.NotFound)));
            }
        }