サンプル: 有効な状態の遷移を取得する
このサンプルは、エンティティのカスタム状態の遷移が定義されているかどうかに関係なく、有効な状態の遷移を取得する方法を示します。 サンプルは ここ からダウンロードできます。
Note
このサンプルは、Dynamics 365 Customer Engagement (on-premises) と Dataverse の両方に適用されます。
このサンプルを実行する方法
すべてのサンプルのローカル コピーを取得してビルドするには、次の手順を実行します。
- サンプル リポジトリをダウンロードまたは複製して、ローカル コピーを用意します。
- (オプション) dataverse/App.config ファイルを編集して、接続先のインスタンスまたは組織を指定した接続文字列を定義します。
- サンプル ソリューションを Visual Studio で開き、F5 キーを押してサンプルを実行します。 Dataverse/App.config 内に接続文字列を指定した後、サンプルを実行すると、その接続情報が使用されます。
dataverse/App.config ファイル内に接続文字列を指定しない場合は、サンプルを実行するたびにダイアログが開き、接続先のインスタンスまたは組織についての情報と、使用する資格情報についての情報を入力する必要があります。 このダイアログには以前の接続がキャッシュされているため、以前に使用した接続を選ぶことができます。
このサンプルの概要
GetValidStatusOptions
メソッドは、状態遷移がエンティティで有効になっているかどうかにかかわらず、有効な状態オプション遷移を返すデータを含むシナリオで使用するためのものです。
このサンプルがどのように動作するか
このサンプルの概要 で説明されているシナリオをシミュレートするために、サンプルは次のことを行います。
セットアップ
- 組織の現在のバージョンをチェックします。
MetadataFilterExpression
メソッドは、エンティティ メタデータをチェックします。
説明
このサンプルは、エンティティのカスタム状態の遷移が定義されているかどうかに関係なく、有効な状態の遷移を取得する方法を示します。
サンプルには、次のタスクがあります:
インシデント エンティティの状態オプションを取得する
各状態のオプションの有効な状態の遷移を取得するサンプルで
GetValidStatusOptions
メソッドを使用するコンソールに有効な遷移オプションを表示する
次の方法で、インシデント エンティティのステータスの遷移が設定されている場合:
有効な状態の遷移はフィルター処理され、次のように、各状態オプションのすべての有効な遷移が表されます。
[In Progress] incident records can transition to:
2 Canceled 1 Canceled
2 Canceled 1 Merged
0 Active 1 On Hold
[On Hold] incident records can transition to:
2 Canceled 2 Canceled
2 Canceled 2 Merged
0 Active 2 Waiting for Details
[Waiting for Details] incident records can transition to:
2 Canceled 3 Canceled
2 Canceled 3 Merged
0 Active 3 Researching
[Researching] incident records can transition to:
2 Canceled 4 Canceled
1 Resolved 4 Information Provided
1 Resolved 4 Problem Solved
2 Canceled 4 Merged
[Problem Solved] incident records can transition to:
2 Canceled 5 Merged
[Information Provided] incident records can transition to:
2 Canceled 1000 Merged
[Canceled] incident records can transition to:
2 Canceled 6 Merged
[Merged] incident records can transition to:
このサンプルがインシデント エンティティが適用されたステータスの遷移なしで実行された場合、次のように、各状態のすべての可能な遷移が表されます。
[Problem Solved] incident records can transition to:
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 3 Waiting for Details
0 Active 4 Researching
[Information Provided] incident records can transition to:
1 Resolved 5 Problem Solved
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 3 Waiting for Details
0 Active 4 Researching
[Canceled] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 3 Waiting for Details
0 Active 4 Researching
[Merged] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 3 Waiting for Details
0 Active 4 Researching
[In Progress] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 2 On Hold
0 Active 3 Waiting for Details
0 Active 4 Researching
[On Hold] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 3 Waiting for Details
0 Active 4 Researching
[Waiting for Details] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 4 Researching
[Researching] incident records can transition to:
1 Resolved 5 Problem Solved
1 Resolved 1000 Information Provided
2 Canceled 6 Canceled
2 Canceled 2000 Merged
0 Active 1 In Progress
0 Active 2 On Hold
0 Active 3 Waiting for Details