ドメイン駆動開発_フォルダー構成編_#33_SharedにログインIDを記憶する

当サイトではアフィリエイト広告を利用しています。

NDDD

前回はベースフォームを作成して,ステータスバーを共通化するという部分を作りました。今回は,LoginViewでログインしたときに,Sharedにログイン情報を覚えさせる方法を解説していきます。

SharedにログインIDを追加する

SharedクラスにLoginIdの項目を追加します。

using System.Configuration;

namespace NDDD.Domain
{
    public static class Shared
    {
        static Shared()
        {
            IsFake = ConfigurationManager.AppSettings["IsFake"] == "1";
        }
        public static bool IsFake { get; }
        public static string FakePath { get; } = ConfigurationManager.AppSettings["FakePath"];

        public static string LoginId { get; set; } = string.Empty;
    }
}

現状は設定ファイルの値しかSharedクラスにありませんでしたが,今回のように,アプリケーション全体で記憶しておきたい事も,Sharedクラスに置いていきます。

ログインボタンクリックイベントの作成

LatestViewのログインボタンをダブルクリックして,ログインボタンクリックイベントを生成します。

生成されたLatestViewのログインボタンクリックイベントでSharedクラスのLoginIdに値を設定します。

using NDDD.Domain;
using System;

namespace NDDD.WinForm.Views
{
    public partial class LoginView : BaseForm
    {
        public LoginView()
        {
            InitializeComponent();
        }

        private void LoginButton_Click(object sender, System.EventArgs e)
        {
            Shared.LoginId = LoginIdTextBox.Text;
        }
    }
}

実際は,Sharedクラスに値を設定する前に,ユーザーの存在チェックなどが行われると思いますが,今回は割愛しています。こんな感じで,SharedクラスにログインIDを記憶しておけば,どこからでもログインIDを参照することができます。このように,アプリケーションが起動して,値が確定するようなものは,Sharedクラスに置いておくのがいいです。