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 }); }
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, }); }
public FavoriteSortViewModel(FavoriteSortEnumContract sortType, string name) { SortType = sortType; Name = name; }