Exemplo n.º 1
0
        public static IQueryable <T> AddPagination <T>(this IQueryable <T> query, PagingData paging)
        {
            if (paging == null)
            {
                return(query);
            }

            if (!paging.Page.HasValue || paging.Page < 0)
            {
                paging.Page = 0;
            }

            if (paging.PageSize.HasValue)
            {
                if (paging.PageSize < 1)
                {
                    paging.PageSize = 5;
                }

                query = query.Skip(paging.Page.Value * paging.PageSize.Value)
                        .Take(paging.PageSize.Value);
            }

            return(query);
        }
Exemplo n.º 2
0
        public static MvcHtmlString PageLinks(this HtmlHelper html, PagingData pagingData, Func <int, string> pageUrl, Func <int, string> onClick)
        {
            StringBuilder result = new StringBuilder();

            string prevLink = (pagingData.CurrentPage == 1) ? BuildHtmlItem(pageUrl(pagingData.CurrentPage - 1), "«", onClick(pagingData.CurrentPage - 1), false, true) : BuildHtmlItem(pageUrl(pagingData.CurrentPage - 1), "«", onClick(pagingData.CurrentPage - 1));

            result.Append(prevLink);

            var start = (pagingData.CurrentPage <= pagingData.PagesPerGroup + 1) ? 1 : (pagingData.CurrentPage - pagingData.PagesPerGroup);
            var end   = (pagingData.CurrentPage > (pagingData.TotalPages - pagingData.PagesPerGroup)) ? pagingData.TotalPages : pagingData.CurrentPage + pagingData.PagesPerGroup;

            for (int i = start; i <= end; i++)
            {
                string pageHtml = string.Empty;
                pageHtml = (i == pagingData.CurrentPage) ? BuildHtmlItem(pageUrl(i), i.ToString(), onClick(i), true) : BuildHtmlItem(pageUrl(i), i.ToString(), onClick(i));

                result.Append(pageHtml);
            }

            string nextLink = (pagingData.CurrentPage == pagingData.TotalPages)
                ? BuildHtmlItem(pageUrl(pagingData.CurrentPage + 1), "»", onClick(pagingData.CurrentPage + 1), false, true)
                : BuildHtmlItem(pageUrl(pagingData.CurrentPage + 1), "»", onClick(pagingData.CurrentPage + 1));

            result.Append(nextLink);

            return(MvcHtmlString.Create(result.ToString()));
        }
Exemplo n.º 3
0
 /// <summary>
 /// 统计的分页方法
 /// </summary>
 /// <param name="DT"></param>
 /// <returns></returns>
 public static PagingData QueryStaticsForPaging(DataTransmission DT)
 {
     try
     {
         //DataQuery _DQ = new DataQuery();
         PagingData _DS = IDataQuery.QueryStaticsForPaging(DT);
         return(_DS);
     }
     catch (Exception ex)
     {
         String errMsg = String.Empty;
         errMsg += "dataSource:" + DT.DataSource.ToString();
         errMsg += ",fileds:";
         for (int i = 0; i < DT.Fields.Length; i++)
         {
             errMsg += DT.Fields[i].ToString() + "||";
         }
         for (int i = 0; i < DT.Filters.Count; i++)
         {
             errMsg += DT.Filters[i].GetString + "||";
         }
         errMsg += ",orders:";
         for (int i = 0; i < DT.Orders.Count; i++)
         {
             errMsg += DT.Orders[i].ToQueryString() + "||";
         }
         errMsg += ",FirstResult:" + DT.FirstResult;
         errMsg += ",MaxResult:" + DT.MaxResult;
         LogHelper.WriteLog(errMsg + ",QueryStaticsForPaging方法异常:", ex);
         //LogHelper.WriteLog("源名:" + DT.DataSource.ToString() + ",QueryStaticsForPaging方法异常:", ex);
         throw new Exception(DT.DataSource.ToString() + ex.ToString());
         //throw ex;
     }
 }
Exemplo n.º 4
0
        public async Task GetNewHitsPlaylistsTestMethod()
        {
            await AuthorizeAsyncTestMethod();

            PagingData paging = new PagingData
            {
                Offset = 0,
                Limit  = 10,
            };

            var playlistsResult = await OpenAPI.GetNewHitsPlaylistsAsync(paging.Limit, paging.Offset);

            var playlists = playlistsResult.Content;

            foreach (var item in playlists.Data)
            {
                Debug.WriteLine($"new hits playlist: {item.Title}");

                var detailPlaylistResult = await OpenAPI.GetPlaylistOfNewHitsPlaylistsAsync(item.Id);

                var detailPlaylist = detailPlaylistResult.Content;

                foreach (var trackItem in detailPlaylist.Tracks.Data)
                {
                    Debug.WriteLine($"private playlist track: {trackItem.Id}, {trackItem.Name}");
                }
            }
        }
Exemplo n.º 5
0
        public async Task GetChartsAndPlaylistTracks()
        {
            var chartPlaylistsResult = await OpenAPI.GetChartListAsync();

            var chartPlaylists = chartPlaylistsResult.Content;

            foreach (var item in chartPlaylists.Data)
            {
                Debug.WriteLine($"chart playlist: {item.Title}, {item.Id}");

                PagingData tracksPaging = null;

                // Get playlist information
                var playlist = await OpenAPI.GetPlaylistOfChartAsync(item.Id);

                // Get tracks of the playlist
                var tracksResult = await OpenAPI.GetPlaylistTracksOfChartAsync(item.Id, tracksPaging?.Limit, tracksPaging?.Offset);

                var tracks = tracksResult.Content;
                tracksPaging        = tracks.Paging;
                tracksPaging.Offset = tracks.Paging.NextOffset();

                foreach (var track in tracks.Data)
                {
                    Debug.WriteLine($"song: {track.Name}, {track.Id}");
                }

                if (tracksPaging.IsEnd())
                {
                    // Loop to get all tracks of the playlist
                }
            }
        }
Exemplo n.º 6
0
 public Index(PagingData <UserContract> users, UserGroupId groupId, string name, bool verifiedArtists)
 {
     Users           = users;
     GroupId         = groupId;
     Name            = name;
     VerifiedArtists = verifiedArtists;
 }
Exemplo n.º 7
0
        //
        // GET: /User/

        public ActionResult Index(Index model, string filter = null, UserSortRule?sort = null, int totalCount = 0, int page = 1)
        {
            if (!string.IsNullOrEmpty(filter) && string.IsNullOrEmpty(model.Name))
            {
                model.Name = filter;
            }

            if (Request.IsAjaxRequest())
            {
                return(UsersPaged(model.GroupId, model.Name, model.Disabled, model.VerifiedArtists, sort ?? UserSortRule.RegisterDate, totalCount, page));
            }

            var pageIndex = page - 1;
            var groupId   = model.GroupId;
            var sortRule  = sort ?? UserSortRule.RegisterDate;

            var result = Data.GetUsers(groupId, model.Name, model.Disabled, model.VerifiedArtists, sortRule, PagingProperties.CreateFromPage(pageIndex, usersPerPage, true));

            if (page == 1 && result.TotalCount == 1 && result.Items.Length == 1)
            {
                return(RedirectToAction("Profile", new { id = result.Items[0].Name }));
            }

            var data = new PagingData <UserContract>(result.Items.ToPagedList(pageIndex, usersPerPage, result.TotalCount), null, "Index", "usersList");

            data.RouteValues = new RouteValueDictionary(new { groupId, name = model.Name, disabled = model.Disabled, sortRule, totalCount = result.TotalCount, action = "Index" });

            return(View(new Index(data, groupId, model.Name, model.VerifiedArtists)));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 查询音乐,模糊查询
        /// </summary>
        /// <param name="condition">条件筛选,歌手,标题,标签,专辑</param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public PagingData <Music> GetMusicList(string condition, int pageIndex, int pageSize)
        {
            var rsp = new PagingData <Music>();

            if (string.IsNullOrEmpty(condition))
            {
                rsp.Countnum = yfjbContext.Music.Where(m => m.Status == 1).Count();
                rsp.Data     = yfjbContext.Music.Where(m => m.Status == 1).OrderByDescending(m => m.Id)
                               .Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            }
            else
            {
                rsp.Countnum = yfjbContext.Music.Where(m => m.Status == 1 &&
                                                       (m.Singer.Contains(condition) ||
                                                        m.Title.Contains(condition) ||
                                                        m.Tag.Contains(condition) ||
                                                        m.Album.Contains(condition))).Count();
                rsp.Data = yfjbContext.Music.Where(m => m.Status == 1 &&
                                                   (m.Singer.Contains(condition) ||
                                                    m.Title.Contains(condition) ||
                                                    m.Tag.Contains(condition) ||
                                                    m.Album.Contains(condition)))
                           .OrderByDescending(m => m.Id)
                           .Skip((pageIndex - 1) * pageSize)
                           .Take(pageSize)
                           .ToList();
            }
            return(rsp);
        }
        public JsonResult GetJsonList([FromQuery] PagingData pg)
        {
            ExtResult er = new ExtResult();

            er.success    = true;
            er.totalCount = 0;
            try
            {
                DataTable dt    = DbUtil.QueryDT("");
                int       count = 2;
                er.totalCount = count;
                for (int i = 0; i < count; i++)
                {
                    er.data[i] = "";
                }
                return(new JsonResult(er));
            }
            catch (Exception e)
            {
                //throw e;
                er.success = false;
                er.msg     = e.Message;
                return(new JsonResult(er));
            }
        }
        public static SearchResult <T> FetchSearchResult <TBase, TMap, T>(
            this IQueryable <TBase> baseQuery,
            Func <IQueryable <TBase>, IQueryable <TMap> > map,
            Func <IEnumerable <TMap>, IEnumerable <T> > transform,
            PagingData pagingData,
            bool fetchTotalCount = true)
        {
            if (map == null)
            {
                throw new ArgumentNullException(nameof(map));
            }
            if (transform == null)
            {
                throw new ArgumentNullException(nameof(transform));
            }

            var totalResults     = fetchTotalCount ? baseQuery.Count() : (int?)null;
            var queryPagingData  = pagingData ?? new PagingData(1, DefaultPageSize, 0);
            var resultPagingData = fetchTotalCount
                    ? PagingData.MakeForResultCount(queryPagingData,
                                                    totalResults.Value)
                    : queryPagingData;

            var items = baseQuery
                        .Map(map)
                        .FetchPage(resultPagingData)
                        .Transform(transform);

            return(new SearchResult <T>(items, resultPagingData));
        }
Exemplo n.º 11
0
        public JsonResult GetJsonList([FromQuery] PagingData pg)
        {
            ExtResult er = new ExtResult();

            er.success    = true;
            er.totalCount = 0;
            try
            {
                int       total = 0;
                DataTable dt    = DbUtil.Query("SELECT * FROM PAYMENT_BILL_REQ ", pg.start, pg.limit, ref int total);
                int       count = 2;
                er.totalCount = count;
                for (int i = 0; i < count; i++)
                {
                    er.data[i] = "";
                }
                return(new JsonResult(er));
            }
            catch (Exception e)
            {
                //throw e;
                er.success = false;
                er.msg     = e.Message;
                return(new JsonResult(er));
            }
        }
Exemplo n.º 12
0
 public static async Task<List<User>> GetUserAsync(this IAdminAccessBll accessBll, SessionToken token, PagingData page)
 {
     var result = await AdminAccessWs.GetUsersAsync(
                     token.ToWebSeriveObject<WS.SessionToken>(),
                     page.ToWebSeriveObject<WS.PagingData>());
     return ProxyHelper.ToListOf<WS.User, BLL.User>(result);
 }
Exemplo n.º 13
0
        public async Task GetAlbumAndTracks()
        {
            string albumId = "WpTPGzNLeutVFHcFq6";

            // Get album information
            var albumResult = await OpenAPI.GetAlbumAsync(albumId);

            var album = albumResult.Content;

            Debug.WriteLine($"album: {album.Name}, {album.Id}");

            PagingData tracksPaging = null;

            // Get tracks of the album
            var tracksResult = await OpenAPI.GetTracksOfAlbumAsync(album.Id, tracksPaging?.Limit, tracksPaging?.Offset);

            var tracks = tracksResult.Content;

            tracksPaging        = tracks.Paging;
            tracksPaging.Offset = tracks.Paging.NextOffset();

            foreach (var track in tracks.Data)
            {
                Debug.WriteLine($"song: {track.Name}, {track.Id}");
            }

            if (tracksPaging.IsEnd() == false)
            {
                // Loop to get all tracks of the album
            }
        }
Exemplo n.º 14
0
 /// <summary>
 /// 统计的分页方法
 /// </summary>
 /// <param name="dataSource">统计的名称</param>
 /// <param name="fileds">选择列</param>
 /// <param name="filters">过滤条件</param>
 /// <param name="orders">排序条件</param>
 /// <param name="selectors">选择条件</param>
 /// <param name="page">页数</param>
 /// <param name="pageSize">每页显示多少条</param>
 /// <param name="statisticsEngName">统计的名称</param>
 /// <returns></returns>
 public static PagingData QueryByStatisticForPaging(WebDataSource dataSource, String[] fileds, List <Expression> filters, List <Order> orders, List <Expression> selectors, int page, int pageSize, String statisticsEngName)
 {
     try
     {
         DataTransmission _data = GetData(dataSource, fileds, filters, orders, selectors, page, pageSize, true, statisticsEngName);
         PagingData       _DS   = QueryStaticsForPaging(_data);
         return(_DS);
     }
     catch (Exception ex)
     {
         String errMsg = String.Empty;
         errMsg += "dataSource:" + dataSource.ToString();
         errMsg += ",fileds:";
         for (int i = 0; i < fileds.Length; i++)
         {
             errMsg += fileds[i].ToString() + "||";
         }
         for (int i = 0; i < filters.Count; i++)
         {
             errMsg += filters[i].GetString + "||";
         }
         errMsg += ",orders:";
         for (int i = 0; i < orders.Count; i++)
         {
             errMsg += orders[i].ToQueryString() + "||";
         }
         errMsg += ",page:" + page;
         errMsg += ",pageSize:" + pageSize;
         LogHelper.WriteLog(errMsg + ",QueryByStatisticForPaging方法异常:", ex);
         throw new Exception(dataSource.ToString() + ex.ToString());
         //throw ex;
     }
 }
Exemplo n.º 15
0
        public JsonNetResult QueryCouponCard(WebQueryFilter filter)
        {
            if (this.Auth.GetAuthenticatedUser() == null)
            {
                return new JsonNetResult()
                       {
                           Data = new { }
                       }
            }
            ;

            var merchant = this.Merchant.GetDefaultMerchant();

            filter.Columns.Add(new QueryColumnFilter()
            {
                Data       = "Merchant.Id",
                Searchable = true,
                DbType     = System.Data.DbType.Int64,
                Search     = new SearchColumnFilter()
                {
                    Regex = false, Value = merchant.Id
                }
            });
            var model     = this.CardCoupon.QueryCardCoupon(filter, new PagingCondition(filter.Start, filter.Length));
            var viewModel = new PagingData <CardCouponWithoutWapperViewModel>(model.Items.Select(o => new CardCouponWithoutWapperViewModel(o)))
            {
                Paging     = model.Paging,
                TotalCount = model.TotalCount
            };

            return(new JsonNetResult()
            {
                Data = viewModel
            });
        }
Exemplo n.º 16
0
        public async Task <JsonResult> GetJobHistory()
        {
            int             count   = 0;
            QuartzScheduler context = new QuartzScheduler(quartzJobStoreSettings.QuartzConnectionString);

            var dataTableData = new DataTableData <QRTZ_JOB_HISTORY>();
            var gridData      = context.QRTZ_JOB_HISTORY.ToList();//new List<QRTZ_JOB_HISTORY>();


            PagingData pgData = new PagingData(Request.QueryString);


            Expression <Func <QRTZ_JOB_HISTORY, bool> > where = w => (
                w.JOB_NAME.Contains(pgData.Search ?? ""));

            /*   Expression<Func<Order, bool>> where = w => (
             *  w.OrderNumber != "");*/
            dataTableData.draw = pgData.Draw;


            //
            count = gridData.Count;

            gridData = await GetList(gridData.Where(d => d.JOB_NAME != "").AsQueryable().OrderByDescending(d => d.STARTDATE).ThenBy(d => d.JOB_NAME), pgData, where);

            dataTableData.data            = gridData;
            dataTableData.recordsFiltered = count;
            dataTableData.recordsTotal    = count;
            dataTableData.success         = true;

            return(Json(dataTableData, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 17
0
        public void OnGet(int PageNum = 1)
        {
            DynamicParameters parameter = new DynamicParameters();

            parameter.Add("@PageNum", PageNum, DbType.Int32, ParameterDirection.Input);
            parameter.Add("@pageSize", PageSize, DbType.Int32, ParameterDirection.Input);

            Employees = _SPCall.ReturnList <Employee>("DapperPaging_Employee_GetAll", parameter).ToList <Employee>();


            StringBuilder QParam = new StringBuilder();

            if (PageNum != 0)
            {
                QParam.Append($"/Index?PageNum=-");
            }
            if (Employees.Count > 0)
            {
                PagingData = new PagingData
                {
                    CurrentPage    = PageNum,
                    RecordsPerPage = PageSize,
                    TotalRecords   = Employees[0].TotalRows,
                    UrlParams      = QParam.ToString(),
                    LinksPerPage   = 5
                };
            }
        }
Exemplo n.º 18
0
 public Index(PagingData<UserContract> users, UserGroupId groupId, string name, bool verifiedArtists)
 {
     Users = users;
     GroupId = groupId;
     Name = name;
     VerifiedArtists = verifiedArtists;
 }
Exemplo n.º 19
0
        public RequestResponse <string> GetImages([FromBody] PagingData pagingData)
        {
            var lstImages = _storageHelper.GetList(pagingData.SkipCount, pagingData.PageSize).ToList();

            return(new RequestResponse <string> {
                Data = lstImages, Success = true, Message = FaceGraphConsts.SUCCESS_MESSAGE
            });
        }
Exemplo n.º 20
0
        public ActionResult Deleted()
        {
            var result = Service.GetDeleted(0, entriesPerPage);

            var data = new PagingData <AlbumContract>(result.Items.ToPagedList(0, entriesPerPage, result.TotalCount), null, "DeletedPaged", "albums");

            return(View(data));
        }
Exemplo n.º 21
0
        public virtual PagingData <object> SelectPaging(Type entityType, int pageIndex, int pageSize)
        {
            Check.NotNull(entityType);
            PagingData <object> data = this.DbContext.Set(entityType).ToGeneric().ToPagingData(pageIndex, pageSize);

            data.Data = data.Data.Select(item => item.Duplicate()).ToArray();
            return(data);
        }
Exemplo n.º 22
0
        public UiPageList(MainWindow mainWindow)
        {
            _mainWindow = mainWindow;

            _pageList = new Dictionary<int, PhotoList> { { 1, new PhotoList(_mainWindow) } };

            Paging = new PagingData(this);
        }
Exemplo n.º 23
0
        public virtual PagingData <TEntity> SelectPaging <TKey>(int pageIndex, int pageSize, Expression <Func <TEntity, TKey> > keySelector, ListSortDirection sortDirection = ListSortDirection.Ascending)
        {
            Check.NotNull(keySelector);

            PagingData <TEntity> data = this.DbContext.Set <TEntity>().OrderBy(keySelector, sortDirection).ToPagingData(pageIndex, pageSize);

            data.Data = data.Data.Select(item => item.Duplicate());
            return(data);
        }
Exemplo n.º 24
0
        public async Task GetNewReleaseList()
        {
            PagingData categoryPaging = null;

            // List of new release categories.
            var newReleaseCategoryResult = await OpenAPI.GetNewReleaseCategoriesAsync(categoryPaging?.Limit, categoryPaging?.Offset);

            var newReleaseCategory = newReleaseCategoryResult.Content;

            foreach (var categoryItem in newReleaseCategory.Data)
            {
                Debug.WriteLine($"new release category: {categoryItem.Title}, {categoryItem.Id}");

                // To retrieve information of the new release category with {category_id}.
                var categoryDetailResult = await OpenAPI.GetNewReleaseCategoryAsync(categoryItem.Id);

                var categoryDetail = categoryDetailResult.Content;

                PagingData albumPaging = categoryDetail.Albums.Paging;
                albumPaging.Offset = albumPaging.NextOffset();

                foreach (var album in categoryDetail.Albums.Data)
                {
                    Debug.WriteLine($"album of the new release: {album.Name}, {album.Id} : {categoryDetail.Title}");
                }

                if (albumPaging.IsEnd())
                {
                    continue;
                }

                var albumsResult = await OpenAPI.GetAlbumsOfNewReleaseCategoryAsync(categoryItem.Id, albumPaging?.Limit, albumPaging?.Offset);

                var albums = albumsResult.Content;

                foreach (var album in albums.Data)
                {
                    Debug.WriteLine($"album of the new release: {album.Name}, {album.Id} : {categoryDetail.Title}");
                }

                albumPaging        = albums.Paging;
                albumPaging.Offset = albumPaging.Offset + albumPaging.Limit;

                if (string.IsNullOrEmpty(albums.Paging.Next))
                {
                    // Loop to get all albums of the category
                }
            }

            categoryPaging        = newReleaseCategory.Paging;
            categoryPaging.Offset = categoryPaging.Offset + categoryPaging.Limit;

            if (string.IsNullOrEmpty(newReleaseCategory.Paging.Next))
            {
                // List of new release categories.
            }
        }
Exemplo n.º 25
0
        public ActionResult SongsPaged(int id, int?page, int?totalCount)
        {
            var pageIndex = (page - 1) ?? 0;
            var result    = Service.GetSongsInList(id, pageIndex * SongsPerPage, SongsPerPage, !totalCount.HasValue);
            var count     = totalCount.HasValue ? totalCount.Value : result.TotalCount;
            var data      = new PagingData <SongInListContract>(result.Items.ToPagedList(pageIndex, SongsPerPage, count), id, "SongsPaged", "songsInList");

            return(PartialView("SongsInListPaged", data));
        }
Exemplo n.º 26
0
        public virtual dynamic List(PagingData paging)
        {
            if (!string.IsNullOrEmpty(paging.Filter))
            {
                return(_repository.ListByFilter(paging));
            }

            return(_repository.List(paging));
        }
Exemplo n.º 27
0
        public ActionResult DeletedPaged(int?page)
        {
            var p      = (page - 1) ?? 0;
            var result = Service.GetDeleted(p * entriesPerPage, entriesPerPage);

            var data = new PagingData <AlbumContract>(result.Items.ToPagedList(p, entriesPerPage, result.TotalCount), null, "DeletedPaged", "albums");

            return(PartialView("PagedAlbums", data));
        }
Exemplo n.º 28
0
        public IEnumerable <dynamic> List(PagingData paging)
        {
            var query = _context.Users.AsQueryable();

            query = query
                    .AddOrderByCodigo(paging, x => x.Id)
                    .AddPagination(paging);

            return(query);
        }
Exemplo n.º 29
0
        public UiPageList(MainWindow mainWindow)
        {
            _mainWindow = mainWindow;

            _pageList = new Dictionary <int, PhotoList> {
                { 1, new PhotoList(_mainWindow) }
            };

            Paging = new PagingData(this);
        }
Exemplo n.º 30
0
        public virtual PagingData <TEntity> SelectPaging(int pageIndex, int pageSize, string keySelector, ListSortDirection sortDirection = ListSortDirection.Ascending)
        {
            Check.NotEmpty(keySelector);
            DbSet <TEntity> set = this.DbContext.Set <TEntity>();

            PagingData <TEntity> data = this.OrderBy(set, keySelector, sortDirection).ToPagingData(pageIndex, pageSize);

            data.Data = data.Data.Select(item => item.Duplicate());
            return(data);
        }
Exemplo n.º 31
0
        public IEnumerable <dynamic> ListByFilter(PagingData paging)
        {
            var query = _context.Users.Where(Condition(paging));

            query = query
                    .AddOrderByCodigo(paging, x => x.Id)
                    .AddPagination(paging);

            return(query);
        }
 public static SearchResult <TBase> FetchSimpleSearchResult <TBase>(
     this IQueryable <TBase> baseQuery,
     PagingData pagingData,
     bool fetchTotalCount = true)
 {
     return(baseQuery.FetchSearchResult(_ => _,
                                        _ => _,
                                        pagingData,
                                        fetchTotalCount));
 }
Exemplo n.º 33
0
        public virtual PagingData <TEntity> SelectPaging(Expression <Func <TEntity, int, bool> > predicate, int pageIndex, int pageSize, string keySelector, ListSortDirection sortDirection = ListSortDirection.Ascending)
        {
            Check.NotNull(predicate);
            Check.NotEmpty(keySelector);
            IQueryable <TEntity> queryable = this.DbContext.Set <TEntity>().Where(predicate);

            PagingData <TEntity> data = this.OrderBy(queryable, keySelector, sortDirection).ToPagingData(pageIndex, pageSize);

            data.Data = data.Data.Select(item => item.Duplicate());
            return(data);
        }
Exemplo n.º 34
0
        public ActionResult ArtistTagUsages(string id, int? page)
        {
            var pageIndex = (page - 1) ?? 0;
            var result = Service.GetArtists(id, pageIndex * entriesPerPage, entriesPerPage);
            var data = new PagingData<ArtistTagUsageContract>(result.Items.ToPagedList(pageIndex, entriesPerPage, result.TotalCount), id, "ArtistTagUsages", "ui-tabs-1");

            if (Request.IsAjaxRequest())
                return PartialView("ArtistTagUsages", data);
            else
                return View("ArtistTagUsages", data);
        }
Exemplo n.º 35
0
 public DaoResponse<List<Artist>> Select(PagingData page)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 36
0
 public abstract List<Venue> GetVenues(PagingData page);
Exemplo n.º 37
0
 public abstract List<Performance> GetPerformances(PagingData page);
Exemplo n.º 38
0
 public abstract List<Location> GetLocations(PagingData page);
Exemplo n.º 39
0
 public List<Location> GetLocations(PagingData page) => ViewAccessDelegate.GetLocations(page);
Exemplo n.º 40
0
        public PartialViewResult AlbumsPaged(int id, ArtistAlbumParticipationStatus? artistParticipation, int? page)
        {
            var pageIndex = (page - 1) ?? 0;
            var queryParams = new AlbumQueryParams {
                Paging = PagingProperties.CreateFromPage(pageIndex, entriesPerPage, true),
                SortRule = AlbumSortRule.ReleaseDateWithNulls,
                ArtistId = id,
                ArtistParticipationStatus = artistParticipation ?? ArtistAlbumParticipationStatus.Everything
            };

            var result = Services.Albums.Find(queryParams);

            var target = queryParams.ArtistParticipationStatus == ArtistAlbumParticipationStatus.OnlyCollaborations ? "ui-tabs-3" : "ui-tabs-2";
            var data = new PagingData<AlbumContract>(result.Items.ToPagedList(pageIndex, entriesPerPage, result.TotalCount), id, "AlbumsPaged", target);
            data.RouteValues = new RouteValueDictionary(new { artistParticipation });

            return PartialView("PagedAlbums", data);
        }
Exemplo n.º 41
0
        public ActionResult UsersPaged(UserGroupId groupId = UserGroupId.Nothing, string name = "", UserSortRule sortRule = UserSortRule.RegisterDate, int totalCount = 0, int page = 1)
        {
            var pageIndex = page - 1;
            var result = Service.GetUsers(groupId, name, sortRule, PagingProperties.CreateFromPage(pageIndex, usersPerPage, false));
            var data = new PagingData<UserContract>(result.Items.ToPagedList(pageIndex, usersPerPage, totalCount), null, "Index", "usersList");
            data.RouteValues = new RouteValueDictionary(new { groupId, sortRule, totalCount, action = "Index" });

            if (Request.IsAjaxRequest())
                return PartialView("PagedUsers", data);
            else
                return View("PagedUsers", data);
        }
Exemplo n.º 42
0
        public ActionResult FavoriteSongsPaged(int id, int? page, SongVoteRating? rating = null, SongSortRule sort = SongSortRule.Name, bool groupByRating = true)
        {
            const int songsPerPage = 50;

            var pageIndex = (page - 1) ?? 0;
            var r = rating ?? SongVoteRating.Nothing;
            var queryParams = new RatedSongQueryParams(id, PagingProperties.CreateFromPage(pageIndex, songsPerPage, true)) { FilterByRating = r, SortRule = sort, GroupByRating = groupByRating };
            var result = Service.GetFavoriteSongs(queryParams);
            var data = new PagingData<FavoriteSongForUserContract>(result.Items.ToPagedList(pageIndex, songsPerPage, result.TotalCount), id, "FavoriteSongs", "ui-tabs-3");
            data.RouteValues = new RouteValueDictionary(new { action = "FavoriteSongs", id, rating, sort, groupByRating });

            return PartialView("FavoriteSongsPaged", data);
        }
Exemplo n.º 43
0
        public PartialViewResult AlbumsPaged(int id, int? page)
        {
            var pageIndex = (page - 1) ?? 0;
            var queryParams = new AlbumQueryParams {
                Paging = PagingProperties.CreateFromPage(pageIndex, entriesPerPage, true),
                SortRule = AlbumSortRule.Name,
                ArtistId = id
            };
            var result = Services.Albums.Find(queryParams);
            var data = new PagingData<AlbumContract>(result.Items.ToPagedList(pageIndex, entriesPerPage, result.TotalCount), id, "AlbumsPaged", "ui-tabs-2");

            return PartialView("PagedAlbums", data);
        }
Exemplo n.º 44
0
        public ActionResult DeletedPaged(int? page)
        {
            var p = (page - 1) ?? 0;
            var result = Service.GetDeleted(p * entriesPerPage, entriesPerPage);

            var data = new PagingData<AlbumContract>(result.Items.ToPagedList(p, entriesPerPage, result.TotalCount), null, "DeletedPaged", "albums");
            data.RouteValues = new RouteValueDictionary(new { action = "DeletedPaged" });

            return PartialView("PagedAlbums", data);
        }
Exemplo n.º 45
0
        public ActionResult Deleted()
        {
            var result = Service.GetDeleted(0, entriesPerPage);

            var data = new PagingData<AlbumContract>(result.Items.ToPagedList(0, entriesPerPage, result.TotalCount), null, "DeletedPaged", "albums");
            data.RouteValues = new RouteValueDictionary(new { action = "DeletedPaged" });

            return View(data);
        }
Exemplo n.º 46
0
 public List<Performance> GetPerformances(PagingData page) => ViewAccessDelegate.GetPerformances(page);
Exemplo n.º 47
0
 public List<Venue> GetVenues(PagingData page) => ViewAccessDelegate.GetVenues(page);
Exemplo n.º 48
0
 public DaoResponse<List<Artist>> Select(PagingData page)
 {
     var artists = new List<Artist>();
     var parameter = new Dictionary<string, QueryParameter>
     {
         {"?Offset", new QueryParameter {ParameterValue = page.Offset}},
         {"?Request", new QueryParameter {ParameterValue = page.Request}}
     };
     using (var connection = _dbCommProvider.CreateDbConnection())
     using (var command = _dbCommProvider.CreateDbCommand(connection, SqlQueries.SelectLimit(EntityViewName), parameter))
     using (var dataReader = _dbCommProvider.ExecuteReader(command))
     {
         while (dataReader.Read())
         {
             var artist = CreateArtistObject(dataReader);
             artists.Add(artist);
             //if (artist.Picture != null)
             //    artist.Picture.DataStream = LoadImagesSource(artist.Picture.Path);
         }
     }
     return artists.Any() ? DaoResponse.QuerySuccessful(artists) : DaoResponse.QueryEmptyResult<List<Artist>>();
 }
Exemplo n.º 49
0
 public Index(PagingData<UserContract> users, UserGroupId groupId, string name)
 {
     Users = users;
     GroupId = groupId;
     Name = name;
 }
Exemplo n.º 50
0
 public DaoResponse<List<Category>> Select(PagingData page)
 {
     var categories = new List<Category>();
     var parameter = new Dictionary<string, QueryParameter>
     {
         {"?Offset", new QueryParameter {ParameterValue = page.Offset}},
         {"?Request", new QueryParameter {ParameterValue = page.Request}}
     };
     using (var connection = _dbCommProvider.CreateDbConnection())
     using (var command = _dbCommProvider.CreateDbCommand(connection, SqlQueries.SelectLimit(EntityName), parameter))
     using (var dataReader = _dbCommProvider.ExecuteReader(command))
     {
         while (dataReader.Read())
         {
             categories.Add(CreateCategoryObject(dataReader));
         }
     }
     return categories.Any() ? DaoResponse.QuerySuccessful(categories) : DaoResponse.QueryEmptyResult<List<Category>>();
 }
Exemplo n.º 51
0
        public PartialViewResult SongsPaged(int id = invalidId, int? page = null)
        {
            var pageIndex = (page - 1) ?? 0;
            var queryParams = new SongQueryParams {
                Paging = PagingProperties.CreateFromPage(pageIndex, entriesPerPage, true),
                SortRule = SongSortRule.Name,
                ArtistId = id
            };
            var result = Services.Songs.Find(queryParams);

            var data = new PagingData<SongContract>(result.Items.ToPagedList(pageIndex, entriesPerPage, result.TotalCount), id, "SongsPaged", "ui-tabs-4");

            return PartialView("PagedSongs", data);
        }
Exemplo n.º 52
0
 public List<Category> GetCategories(PagingData page) => ViewAccessDelegate.GetCategories(page);
Exemplo n.º 53
0
 public abstract List<Country> GetCountries(PagingData page);
Exemplo n.º 54
0
 public List<Country> GetCountries(PagingData page) => ViewAccessDelegate.GetCountries(page);
Exemplo n.º 55
0
        //
        // GET: /User/
        public ActionResult Index(Index model, UserSortRule? sort = null, int totalCount = 0, int page = 1)
        {
            if (Request.IsAjaxRequest())
                return UsersPaged(model.GroupId, model.Name, sort ?? UserSortRule.RegisterDate, totalCount, page);

            var pageIndex = page - 1;
            var groupId = model.GroupId;
            var sortRule = sort ?? UserSortRule.RegisterDate;

            var result = Service.GetUsers(groupId, model.Name, sortRule, PagingProperties.CreateFromPage(pageIndex, usersPerPage, true));
            var data = new PagingData<UserContract>(result.Items.ToPagedList(pageIndex, usersPerPage, result.TotalCount), null, "Index", "usersList");
            data.RouteValues = new RouteValueDictionary(new { groupId, name = model.Name, sortRule, totalCount = result.TotalCount, action = "Index" });

            return View(new Index(data, groupId, model.Name));
        }
Exemplo n.º 56
0
 public abstract List<Artist> GetArtists(PagingData page);
Exemplo n.º 57
0
        public ActionResult AlbumCollectionPaged(AlbumCollectionRouteParams routeParams)
        {
            var id = routeParams.id;

            if (id == invalidId)
                return NoId();

            const int entriesPerPage = 50;
            var pageIndex = (routeParams.page - 1) ?? 0;
            var queryParams = new AlbumCollectionQueryParams(id, PagingProperties.CreateFromPage(pageIndex, entriesPerPage, routeParams.count == 0)) {
                FilterByStatus = routeParams.purchaseStatus ?? PurchaseStatus.Nothing
            };
            var albums = Service.GetAlbumCollection(queryParams);
            routeParams.count = (albums.TotalCount != 0 ? albums.TotalCount : routeParams.count);
            var paged = new PagingData<AlbumForUserContract>(albums.Items.ToPagedList(pageIndex, entriesPerPage, routeParams.count), id, "AlbumCollection", "ui-tabs-1");
            paged.RouteValues = new RouteValueDictionary(new { action = "AlbumCollection", id, count = routeParams.count, purchaseStatus = routeParams.purchaseStatus });

            return PartialView("AlbumCollectionPaged", paged);
        }
Exemplo n.º 58
0
 public abstract List<Category> GetCategories(PagingData page);
Exemplo n.º 59
0
 public List<Artist> GetArtists(PagingData page) => ViewAccessDelegate.GetArtists(page);
Exemplo n.º 60
0
 public List<User> GetUsers(SessionToken token, PagingData page) => AdminAccessDelegate.GetUsers(token, page);