コード例 #1
0
        public PagedResultList <FavoriteBaseInfoContract> GetFavoriteItems(int?start, int?count, long?labelId, FavoriteTypeEnumContract?filterByType, string filterByTitle, FavoriteSortEnumContract sort)
        {
            var user       = TryGetUser();
            var startValue = PagingHelper.GetStart(start);
            var countValue = PagingHelper.GetCount(count);
            var typeFilter = m_mapper.Map <FavoriteTypeEnum?>(filterByType);

            var dbResult = m_favoritesRepository.InvokeUnitOfWork(x => x.GetFavoriteItems(labelId, typeFilter, filterByTitle, sort, startValue, countValue, user.Id));

            return(new PagedResultList <FavoriteBaseInfoContract>
            {
                List = m_mapper.Map <List <FavoriteBaseInfoContract> >(dbResult.List),
                TotalCount = dbResult.Count
            });
        }
コード例 #2
0
ファイル: FavoritesRepository.cs プロジェクト: RIDICS/ITJakub
        public virtual ListWithTotalCountResult <FavoriteBase> GetFavoriteItems(long?labelId, FavoriteTypeEnum?filterByType, string filterByTitle, FavoriteSortEnumContract sort, int start, int count, int userId)
        {
            var query = CreateGetFavoriteItemsQuery(labelId, filterByType, filterByTitle, userId);

            switch (sort)
            {
            case FavoriteSortEnumContract.TitleAsc:
                query = query.OrderBy(x => x.Title).Asc;
                break;

            case FavoriteSortEnumContract.TitleDesc:
                query = query.OrderBy(x => x.Title).Desc;
                break;

            case FavoriteSortEnumContract.CreateTimeAsc:
                query = query.OrderBy(x => x.CreateTime).Asc;
                break;

            case FavoriteSortEnumContract.CreateTimeDesc:
                query = query.OrderBy(x => x.CreateTime).Desc;
                break;

            default:
                query = query.OrderBy(x => x.Title).Asc;
                break;
            }

            var resultList = query.Skip(start)
                             .Take(count)
                             .Future();

            var totalCount = query.ToRowCountQuery()
                             .FutureValue <int>();

            return(new ListWithTotalCountResult <FavoriteBase>
            {
                List = resultList.ToList(),
                Count = totalCount.Value,
            });
        }
コード例 #3
0
 public FavoriteSortViewModel(FavoriteSortEnumContract sortType, string name)
 {
     SortType = sortType;
     Name     = name;
 }