演習 - ブール式を使用して課題アクティビティを完了する

完了

コードの課題は、学習した内容を確実に理解し、先に進む前にある程度の自信を得るのに役立ちます。

決定ロジックの課題

この課題では、一連のビジネス ルールに基づく決定ロジックを実装します。 このビジネス ルールでは、ユーザーのロールベースのアクセス許可とキャリア レベルに基づいて、ユーザーに付与されるアクセス権を指定します。 コードの分岐により、ユーザーのアクセス許可とレベルに応じて、異なるメッセージをユーザーに表示します。

アクセス許可とレベルの値を初期化する

  1. Visual Studio Code で空の Program.cs ファイルが開かれていることを確認します。

    必要であれば、Visual Studio Code を開き、次の手順のようにしてエディターで Program.cs ファイルを準備します。

    1. [ファイル] メニューの [フォルダーを開く] を選択します。

    2. [フォルダーを開く] ダイアログを使って CsharpProjects フォルダーに移動して開きます。

    3. Visual Studio Code のエクスプローラー パネルで、Program.cs を選びます。

    4. Visual Studio Code の [選択] メニューで、[すべて選択] を選択してから Delete キーを押します。

  2. Visual Studio Code エディターに次のコードを入力します。

    string permission = "Admin|Manager";
    int level = 55;
    
  3. 最初のコード行を確認します。

    このアプリケーションでは、permissionlevel の組み合わせを使って、この課題のシナリオのビジネス ルールを適用して評価します。 ビジネス ルールの条件の完全な一覧は、次のステップで指定します。 完成したソリューションでは、permissionlevel を使う必要があります。

    ヒント

    以下のビジネス ルールで説明されている permissionlevel のすべての組み合わせを十分にテストするには、これらの変数に追加の値を割り当てて、アプリケーションを複数回実行する必要があります。

ビジネス ルールを実装する

重要

Contains() ヘルパー メソッドを使って、permission 文字列に割り当てられた値に "ビジネス ルール" で指定されているアクセス許可の値のいずれかが含まれるかどうかを判定する必要があります。 たとえば、上のコードで指定されている初期データ値を使うと、式 permission.Contains("Admin")true を返します。

ソリューションで満たす必要があるビジネス ルールを次に示します。

  • ユーザーが 55 より高いレベルの管理者である場合は、次のメッセージを出力します。

    Welcome, Super Admin user.
    
  • ユーザーが 55 以下のレベルの管理者である場合は、次のメッセージを出力します。

    Welcome, Admin user.
    
  • ユーザーがレベル 20 以上のマネージャーである場合は、次のメッセージを出力します。

    Contact an Admin for access.
    
  • ユーザーがレベルが 20 未満のマネージャーである場合は、次のメッセージを出力します。

    You do not have sufficient privileges.
    
  • ユーザーが管理者でもマネージャーでもない場合は、次のメッセージを出力します。

    You do not have sufficient privileges.
    
  1. 各ビジネス ルールに対応するように Program.cs のコードを更新します。

  2. コードを保存します。

提案された初期データ値を使用してソリューションをテストする

  1. コードをビルドして実行します。

  2. 出力を評価します。

    初期構成データを含むコードを実行すると、次の出力が表示されます。

    Welcome, Admin user.
    

他のビジネス ルールをテストする

  1. permissionlevel に割り当てられた値を更新します。

  2. コードを保存し、実行します。

  3. 出力を評価して、他のビジネス ルールが満たされていることを確認します。

行き詰まって解答を見る必要がある場合でも、無事完了した場合でも、この課題の解答を引き続きご覧ください。