2016-12-13 7 views
1

まずは@gregdennisのおかげで。私はManatee Trello名前空間を使用して、Trelloボードからクエリを取得し、アクションを取得します。各リクエストでエンティティを取得するには制限があります(デフォルトでは50)。オンラインAPIのドキュメントでは、 'limit'や 'before'のようないくつかのパラメータがあります。どのように私は私のコード内のメソッドにこれらのパラメータを渡して、私のサンプルコードをフェッチここにある:Manatee Trelloメソッドで 'before'や 'limit'のようなパラメータを渡す方法

Board board = new Board(boardId); 
    var actions = board.Actions.ToList(); 

答えて

0

これらのパラメータを追加するAPIクエリを修正するさまざまなコレクション型には、いくつかの拡張メソッドがあります。

最初にお探しののはLimit(this ReadOnlyActionCollection, int)です。ちょうどあなたが望むアクションの数を渡してください。有効な値(APIごと)は0〜1000です。

第2はで、since(開始)とbefore(終了)をフィルタリングできます。 (APIのドキュメントはlastViewこれは現時点ではサポートされていませんsinceパラメータの有効な選択肢であると言う。)

編集

注これらの拡張メソッドが動作していることだけでLINQのように:彼らは新しい戻りますクエリのインスタンス。クエリは、コレクションが列挙されるまで実行されません。

編集2

あなたが最初Trelloエンティティ(ボード、リスト、カードなど)を持っている必要があります任意のコレクションを取得します。コレクションはそれを定義するオブジェクトがなければ無意味です。たとえば、ボードにはリストがあり、リストにはカードがあり、カードにはチェックリストがあり、これらのすべてにアクションがあります。だから、カードのための500回の最新のアクション、

var card = new Card("<ID>"); 
var actions500 = card.Actions.Limit(500); 
foreach(var action in actions500) 
{ 
    Console.WriteLine(action); 
} 

編集3

オーケーで構成され、コレクションを取得する

。私は問題を見る。私はLimit()拡張子にthisキーワードを使用しませんでした。私はそれを修正し、更新版を公開します。

それまでは、静的メソッドを使用してください:「ReadOnlyActionCollection」:

Collections.Limit(card.Actions, 100); 
+0

私はこのタイプでこの拡張メソッドを発見しました。しかし、この型から派生した値をどのように埋めるか: 'ReadOnlyActionCollection r =;'なぜなら私はこのようなオブジェクトを埋めているからです: 'var _actions = _board.Actions'。完全な例を書いてください –

+0

あなたは正しく行動を得ています。拡張メソッドを呼び出すだけです。編集2を参照してください。また、[github wiki](https://github.com/gregsdennis/Manatee.Trello/wiki)の文書を必ずお読みください。 – gregsdennis

+0

私は本当にあなたの答えをありがとうが、私はこの返信に画像を添付することができます、私はあなたにビジュアルスタジオで自分のコードのスクリーンショットを表示するだろう!私は "Filter()"拡張メソッドを持っていますが、 "Limit()"メソッドはありません! –

関連する問題