public static PagingResult <T> ApplyPaging <T>(this IEnumerable <T> input, PagingParameters pagingParameters) { var totalCount = input.Count(); return(PagingResult.Create(input.Skip(pagingParameters.Offset).Take(pagingParameters.Limit).ToList(), pagingParameters.Offset, totalCount)); }
public static PagingResult <TOut> Map <TIn, TOut>(this PagingResult <TIn> input, Func <TIn, TOut> mappingFunction) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (mappingFunction == null) { throw new ArgumentNullException(nameof(mappingFunction)); } return(new PagingResult <TOut>(input.Items.Select(mappingFunction).ToList(), input.TotalItemCount, input.ContinuationCursor)); }