Skip to content

Instantly share code, notes, and snippets.

@kazuakix
Last active August 29, 2015 14:03
Show Gist options
  • Save kazuakix/c4aa4d8b6b7de92af359 to your computer and use it in GitHub Desktop.
Save kazuakix/c4aa4d8b6b7de92af359 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Storage;
namespace Net.Tauchi.Sue
{
public class AppSettings
{
#region 定数
private readonly string USE_SCHEDULED_AGENT = "UseScheduledAgent"; // 定期実行エージェントを使用する
private readonly string USER_MAIL_ADDRESS = "MailAddress"; // ●用メールアドレス
private readonly string USER_PASSWORD = "Password"; // ●用パスワード
private readonly string SYNC2CH_LOGINID = "Sync2chLoginID"; // Sync2ch のログイン ID
private readonly string SYNC2CH_APIPASSWORD = "Sync2chApiPassword"; // Sync2ch の API パスワード
#endregion
#region メンバ変数
private ApplicationDataContainer _settings;
#endregion
#region コンストラクタ
public AppSettings()
{
try
{
_settings = ApplicationData.Current.RoamingSettings;
}
catch (Exception ex)
{
System.Diagnostics.Debug.Assert(false, ex.Message);
}
}
#endregion
#region 設定更新
public bool AddOrUpdateValue(string key, object value)
{
bool valueIsChanged = false;
if (value != _settings.Values[key])
{
_settings.Values[key] = value;
valueIsChanged = true;
}
return valueIsChanged;
}
#endregion
#region 設定取得
public T GetValueOrDefault<T>(string key, T defaultValue)
{
T value;
if (_settings.Values.ContainsKey(key))
{
value = (T)_settings.Values[key];
}
else
{
value = defaultValue;
_settings.Values[key] = value;
}
return value;
}
#endregion
// 以下、公開する設定値
#region 定期実行エージェントを使用するか
public bool UseScheduledAgent
{
get
{
return GetValueOrDefault<bool>(USE_SCHEDULED_AGENT, false);
}
set
{
AddOrUpdateValue(USE_SCHEDULED_AGENT, value);
}
}
#endregion
#region ●用メールアドレス
public string UserMailAddress
{
get
{
return GetValueOrDefault<string>(USER_MAIL_ADDRESS, "");
}
set
{
AddOrUpdateValue(USER_MAIL_ADDRESS, value);
}
}
#endregion
#region ●用パスワード
public string UserPassword
{
get
{
return GetValueOrDefault<string>(USER_PASSWORD, "");
}
set
{
AddOrUpdateValue(USER_PASSWORD, value);
}
}
#endregion
#region Sync2ch のログイン ID
public string Sync2chLoginID
{
get
{
return GetValueOrDefault<string>(SYNC2CH_LOGINID, "");
}
set
{
AddOrUpdateValue(SYNC2CH_LOGINID, value);
}
}
#endregion
#region Sync2ch の API パスワード
public string Sync2chApiPassword
{
get
{
return GetValueOrDefault<string>(SYNC2CH_APIPASSWORD, "");
}
set
{
AddOrUpdateValue(SYNC2CH_APIPASSWORD, value);
}
}
#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment