/// <summary> /// 指定したセクションのコテハンを取得。存在しなければnullを返す。 /// </summary> /// <param name="section"></param> /// <returns></returns> private Kotehan GetInternal(string key) { Kotehan kote = new Kotehan( profile.GetString(key, "Name", String.Empty), profile.GetString(key, "Email", String.Empty), profile.GetBool(key, "Be", false)); return((kote.IsEmpty) ? null : kote); }
/// <summary> /// Setクラスのインスタンスを初期化 /// </summary> /// <param name="header">コテハンを設定するスレッド情報</param> /// <param name="kotehan">設定する値が格納されたコテハン</param> public void Set(ThreadHeader header, Kotehan kotehan) { if (header == null) { throw new ArgumentNullException("header"); } string section = GetSection(header); SetInternal(section, kotehan); }
/// <summary> /// 指定した板のコテハンを設定 /// </summary> /// <param name="board">コテハンを設定する板</param> /// <param name="kotehan">設定する値が格納されたコテハン</param> public void Set(BoardInfo board, Kotehan kotehan) { if (board == null) { throw new ArgumentNullException("board"); } string section = GetSection(board); SetInternal(section, kotehan); }
/// <summary> /// 指定したセクションにコテハンを設定 /// </summary> /// <param name="section"></param> /// <param name="kotehan">nullまたは空のコテハンを指定するとセクションを削除</param> private void SetInternal(string section, Kotehan kotehan) { if (kotehan == null || kotehan.IsEmpty) { profile.Sections.Remove(section); return; } profile.SetValue(section, "Name", kotehan.Name); profile.SetValue(section, "Email", kotehan.Email); profile.SetValue(section, "Be", kotehan.Be); }
/// <summary> /// 指定したスレッドに設定されているコテハンを取得 /// </summary> /// <param name="header">スレッド情報</param> /// <returns>存在すればKotehanクラスのインスタンスを返す。存在しなければデフォルト値</returns> public Kotehan Get(ThreadHeader header) { if (header == null) { throw new ArgumentNullException("header"); } string key = GetSection(header); Kotehan kote = GetInternal(key); if (kote == null) { kote = Get(header.BoardInfo); } return(kote); }
/// <summary> /// 指定した板に設定されているコテハンを取得 /// </summary> /// <param name="board">コテハンを取得する板</param> /// <returns>存在すればKotehanクラスのインスタンスを返す。存在しなければデフォルト値</returns> public Kotehan Get(BoardInfo board) { if (board == null) { throw new ArgumentNullException("board"); } string key = GetSection(board); Kotehan kote = GetInternal(key); if (kote == null) { kote = Default; } return(kote); }