/// <inheritdoc />
        public virtual async Task <PaginationResult <TEntity> > GetAll(PaginationQuery paginationQuery)
        {
            var query = GetAllQuery(paginationQuery, null);

            var pagesMetadata = paginationQuery.GetPaginationMetadata(await query.LongCountAsync());

            return(new PaginationResult <TEntity>(await query.ToArrayAsync(), pagesMetadata));
        }
        public virtual async Task <PaginationResult <TEntity> > GetAll(PaginationQuery paginationQuery,
                                                                       Expression <Func <TEntity, bool> > filter)
        {
            var query = GetAllQuery(paginationQuery, filter);

            var pagesMetadata = paginationQuery.GetPaginationMetadata(await query.LongCountAsync());

            return(new PaginationResult <TEntity>(await query.ToArrayAsync(), pagesMetadata));
        }