Exemplo n.º 1
0
 /// <summary>
 /// Получение комментариев на заданной странице с заданными фильтрами.
 /// </summary>
 /// <param name="page">Номер страницы</param>
 /// <param name="pageSize">Размер страницы</param>
 /// <param name="fieldFilters">Список фильтров</param>
 /// <param name="sortFilter">Порядок сортировки</param>
 /// <returns></returns>
 public CommentCollectionViewModel GetComments(int page, int pageSize,
    List<Filtering.FieldFilter> fieldFilter = null, Filtering.SortFilter sortFilter = null)
 {
     IEnumerable<CommentViewModel> comments;
     int total;
     if (fieldFilter != null && sortFilter != null)
     {
         var newSortFilter = new SortFilter() { SortOrder = sortFilter.SortOrder };
         var expression = filterFactory.GetFilterExpression(fieldFilter);
         comments = commentsRepository.Get(page, pageSize, expression, newSortFilter).Select(Convert);
         total = commentsRepository.Count(expression);
     }
     else
     {
         comments = commentsRepository.Get(page, pageSize, x => true).Select(Convert);
         total = commentsRepository.Count(x => true);
     }
     var pageInfo = new PageInfo()
     {
         PageNumber = page,
         PageSize = pageSize,
         TotalItems = total
     };
     return new CommentCollectionViewModel() { Comments = comments, PageInfo = pageInfo };
 }
Exemplo n.º 2
0
 /// <summary>
 /// Получение партнеров на заданной странице с заданными фильтрами.
 /// </summary>
 /// <param name="page">Номер страницы</param>
 /// <param name="pageSize">Размер страницы</param>
 /// <param name="fieldFilters">Список фильтров</param>
 /// <param name="sortFilter">Порядок сортировки</param>
 /// <returns></returns>
 public PartnerCollectionViewModel GetPartners(int page, int pageSize,
     List<Filtering.FieldFilter> fieldFilters = null,
     Filtering.SortFilter sortFilter = null)
 {
     IEnumerable<PartnerViewModel> partners;
     int total;
     if (fieldFilters != null && sortFilter != null)
     {
         var newSortFilter = new SortFilter() { SortOrder = sortFilter.SortOrder };
         var expression = filterFactory.GetFilterExpression(fieldFilters);
         partners = partnerRepository.Get(page, pageSize, expression, newSortFilter).Select(ConvertFromPartnerToPartnerViewModel);
         total = partnerRepository.Count(expression);
     }
     else
     {
         partners = partnerRepository.Get(page, pageSize, x => true).Select(ConvertFromPartnerToPartnerViewModel);
         total = partnerRepository.Count(x => true);
     }
     var pageInfo = new PageInfo()
     {
         PageNumber = page,
         PageSize = pageSize,
         TotalItems = total
     };
     return new PartnerCollectionViewModel() { Partners = partners, PageInfo = pageInfo };
 }