public bool SaveData()
{
bool newObject = false;
if (_representedObject == null)
{
hMailServer.Settings settings = APICreator.Application.Settings;
hMailServer.AntiSpam antiSpam = settings.AntiSpam;
hMailServer.DNSBlackLists dnsBlackLists = antiSpam.DNSBlackLists;
_representedObject = dnsBlackLists.Add();
newObject = true;
Marshal.ReleaseComObject(settings);
Marshal.ReleaseComObject(antiSpam);
Marshal.ReleaseComObject(dnsBlackLists);
}
_representedObject.Active = checkEnabled.Checked;
_representedObject.DNSHost = textDNSHost.Text;
_representedObject.ExpectedResult = textExpectedResult.Text;
_representedObject.RejectMessage = textRejectionMessage.Text;
_representedObject.Score = textSpamScore.Number;
_representedObject.Save();
// Refresh the node in the tree if the name has changed.
IMainForm mainForm = Instances.MainForm;
mainForm.RefreshCurrentNode(_representedObject.DNSHost);
// Set the object to clean.
DirtyChecker.SetClean(this);
if (newObject)
{
SearchNodeText crit = new SearchNodeText(_representedObject.DNSHost);
mainForm.SelectNode(crit);
}
return true;
}