示例#1
0
        /// <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);
        }
示例#2
0
 /// <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));
 }
示例#3
0
 /// <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));
 }