/// <summary> /// Gets all query. /// </summary> /// <param name="groupType">Type of the group.</param> /// <param name="orderBy">The order by.</param> /// <returns>the query of words</returns> public IQueryable <Word> GetAllQuery( GroupType?groupType = null, OrderByWord orderBy = OrderByWord.Spanish) { var query = this.wordRepository.TableNoTracking; if (groupType.HasValue) { query = query.Where(c => c.GroupId == Convert.ToInt16(groupType)); } switch (orderBy) { case OrderByWord.Random: query = query.OrderBy(c => Guid.NewGuid()); break; case OrderByWord.Spanish: query = query.OrderBy(c => c.Spanish); break; case OrderByWord.English: query = query.OrderBy(c => c.English); break; default: query = query.OrderBy(c => c.Id); break; } return(query); }
/// <summary> /// Gets all asynchronous. /// </summary> /// <param name="groupType">Type of the group.</param> /// <param name="orderBy">The order by.</param> /// <param name="page">The page.</param> /// <param name="pageSize">Size of the page.</param> /// <returns> /// the words /// </returns> public async Task <IPagedList <Word> > GetAllAsync( GroupType?groupType = null, OrderByWord orderBy = OrderByWord.Spanish, int page = 0, int pageSize = int.MaxValue) { return(await new PagedList <Word>().Async(this.GetAllQuery(groupType, orderBy), page, pageSize)); }
/// <summary> /// Gets all. /// </summary> /// <param name="groupType">Type of the group.</param> /// <param name="orderBy">The order by.</param> /// <param name="page">The page.</param> /// <param name="pageSize">Size of the page.</param> /// <returns> /// the words /// </returns> public IPagedList <Word> GetAll( GroupType?groupType = null, OrderByWord orderBy = OrderByWord.Spanish, int page = 0, int pageSize = int.MaxValue) { return(new PagedList <Word>(this.GetAllQuery(groupType, orderBy), page, pageSize)); }