アクションの各タイプは、クラスのサブクラスAction
です。Data
サブクラスには、そのタイプのアクションに関する特定の情報を含むというプロパティがあります。
例として、ボードのカード作成アクションをすべて出力したい場合は、次のように実行できます。
var board = trello.Boards.WithId("a board id");
foreach (var action in trello.Actions.ForBoard(board).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " " + action.Data.Card.Name);
}
これにより、すべてのボード アクションが trello から取得され、メモリ内でフィルター処理されます。パフォーマンス上の理由から、次のような追加のパラメーターを渡すことで、特定のアクション タイプのみを要求するように Trello.NET に指示できます。
foreach (var action in trello.Actions.ForBoard(board,
new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
多くのアクションが存在する可能性があるため、trello はページングを使用します。パラメータを渡して、Paging
trello にページ インデックスとページ サイズを伝えることができます。以下は、各ページが 100 アクションであり、最初のページ (0) が必要であることを意味します。
foreach (var action in trello.Actions.ForBoard(board,
new[] { ActionType.CreateCard },
paging: new Paging(100, 0)).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
AutoPaged()
ページングに役立つ拡張メソッドが呼び出されます。using ステートメントを追加...
using TrelloNet.Extensions;
...そして使用しますAutoPaged()
。Trello.NET は、必要に応じて新しいページを自動的に取得します。
foreach (var action in trello.Actions.AutoPaged().ForBoard(board,
new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
注: 新しいアクション タイプが Trello.NET に追加されてからしばらく時間が経過しているため、認識されない新しいアクション タイプが存在する可能性があります...