public override void SaveSettings(StringDictionary settings)
{
if (settings == null)
{
throw new ArgumentNullException("settings");
}
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
using (var cmd = conn.CreateTextCommand(string.Format("DELETE FROM {0}Settings WHERE BlogId = {1}blogid", this.tablePrefix, this.parmPrefix)))
{
cmd.Parameters.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
cmd.ExecuteNonQuery();
foreach (string key in settings.Keys)
{
cmd.CommandText = string.Format("INSERT INTO {0}Settings (BlogId, SettingName, SettingValue) VALUES ({1}blogid, {1}name, {1}value)", this.tablePrefix, this.parmPrefix);
cmd.Parameters.Clear();
cmd.Parameters.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
cmd.Parameters.Add(conn.CreateParameter(FormatParamName("name"), key));
cmd.Parameters.Add(conn.CreateParameter(FormatParamName("value"), settings[key]));
cmd.ExecuteNonQuery();
}
}
}
}
}