從 SystemConfig 讀取所有設定,解析路徑與布林旗標:
public void Load() {
myWatchedPaths = null;
ArrayList paths = new ArrayList();
using (IDbCommand cmd = Util.DBConnection.CreateCommand()) {
cmd.CommandText = "SELECT ConfigName, ConfigValue FROM SystemConfig";
using (IDataReader reader = cmd.ExecuteReader()) {
while (reader.Read()) {
string name = reader.GetValue(0)?.ToString()?.Trim().ToLower();
if (string.IsNullOrEmpty(name)) continue;
string value = reader.GetValue(1)?.ToString();
if (name.StartsWith("path")) {
paths.Add(value?.Trim());
} else if (name == "logrenamed") {
bolLogRenamed = Convert.ToBoolean(value);
} else if (name == "logchanged") {
bolLogChanged = Convert.ToBoolean(value);
} else if (name == "logdeleted") {
bolLogDeleted = Convert.ToBoolean(value);
} else if (name == "logcreated") {
bolLogCreated = Convert.ToBoolean(value);
}
}
}
}
myWatchedPaths = (string[])paths.ToArray(typeof(string));
}
path* 開頭 → 監視路徑,收集至陣列logrenamed/logchanged/logdeleted/logcreated → 對應四種事件監視旗標string[] 供 WatchedPaths 屬性使用