Exemple #1
0
        static async Task <FetchRowsResult> FetchRowsAsync(FetchPageAsyncEventArgs e)
        {
            IssueSortOrder sortOrder = GetIssueSortOrder(e);
            IssueFilter    filter    = MakeIssueFilter(e.Filter);

            var issues = await IssuesService.GetIssuesAsync(
                page : e.Skip / e.Take,
                pageSize : e.Take,
                sortOrder : sortOrder,
                filter : filter);

            return(new FetchRowsResult(issues, hasMoreRows: issues.Length == e.Take));
        }
Exemple #2
0
 static IssueSortOrder GetIssueSortOrder(FetchPageAsyncEventArgs e)
 {
     if (e.SortOrder.Length > 0)
     {
         var sort = e.SortOrder.Single();
         if (sort.PropertyName == "Created")
         {
             return(sort.Direction == ListSortDirection.Ascending
                 ? IssueSortOrder.CreatedAscending
                 : IssueSortOrder.CreatedDescending);
         }
     }
     return(IssueSortOrder.CreatedDescending);
 }
Exemple #3
0
        static async Task <FetchRowsResult> FetchRowsAsync(FetchPageAsyncEventArgs e)
        {
            IssueSortOrder sortOrder = GetIssueSortOrder(e);

            var issuesFetchResult = await IssuesService.GetIssuesAsync(
                skipToken : e.SkipToken,
                pageSize : e.Take,
                sortOrder : sortOrder);

            return(new FetchRowsResult(
                       issuesFetchResult.Issues,
                       hasMoreRows: issuesFetchResult.Issues.Length == e.Take,
                       nextSkipToken: issuesFetchResult.NextSkipToken));
        }
Exemple #4
0
 static IssueSortOrder GetIssueSortOrder(FetchPageAsyncEventArgs e)
 {
     if (e.SortOrder.Length > 0)
     {
         var sort = e.SortOrder.Single();
         if (sort.PropertyName == "Created")
         {
             if (sort.Direction != ListSortDirection.Descending)
             {
                 throw new InvalidOperationException();
             }
             return(IssueSortOrder.CreatedDescending);
         }
         if (sort.PropertyName == "Votes")
         {
             return(sort.Direction == ListSortDirection.Ascending
                 ? IssueSortOrder.VotesAscending
                 : IssueSortOrder.VotesDescending);
         }
     }
     return(IssueSortOrder.Default);
 }