/// <summary> /// Configures songlist list query /// </summary> /// <param name="filter">songlist filter</param> /// <returns>configured query</returns> private IQuery <SonglistDTO> GetQuery(SonglistFilter filter) { var query = songlistListQuery; query.ClearSortCriterias(); query.Filter = filter; return(query); }
public IEnumerable <SonglistDTO> GetSonglistsForClient(SonglistFilter filter, int clientId, int requiredPage = 1) { if (clientId < 1) { throw new ArgumentOutOfRangeException("Client service - GetSonglistsForClient(...)clientId cannot be lesser than 1"); } using (UnitOfWorkProvider.Create()) { songlistListQuery.Filter = filter; songlistListQuery.Skip = Math.Max(0, requiredPage - 1) * SonglistsPageSize; songlistListQuery.Take = SonglistsPageSize; var sortSonglist = filter.SortAscending ? SortDirection.Ascending : SortDirection.Descending; songlistListQuery.AddSortCriteria(songlist => songlist.Name, sortSonglist); return(songlistListQuery.Execute()); } }
public SonglistListQueryResultDTO ListAllSonglists(SonglistFilter filter, int requiredPage = 1) { using (UnitOfWorkProvider.Create()) { var query = GetQuery(filter); query.Skip = Math.Max(0, requiredPage - 1) * PageSize; query.Take = PageSize; var sortOrder = filter.SortAscending ? SortDirection.Ascending : SortDirection.Descending; query.AddSortCriteria(songlist => songlist.Name, sortOrder); return(new SonglistListQueryResultDTO { RequestedPage = requiredPage, TotalResultCount = query.GetTotalRowCount(), ResultsPage = query.Execute(), Filter = filter }); } }
/// <summary> /// Gets all songlists according to filter and required page /// </summary> /// <param name="filter">songlist filter</param> /// <param name="requiredPage">page to show</param> /// <returns>All songlists</returns> public IEnumerable <SonglistDTO> GetSonglists(SonglistFilter filter, int requiredPage = 1) { return(clientService.GetSonglistsForClient(filter, requiredPage, requiredPage)); }