protected override void LoadList() { listAliases.Items.Clear(); hMailServer.Links links = APICreator.Links; hMailServer.Domain domain = links.get_Domain(_domainID); Marshal.ReleaseComObject(links); hMailServer.Aliases aliases = domain.Aliases; Marshal.ReleaseComObject(domain); for (int i = 0; i < aliases.Count; i++) { hMailServer.Alias alias = aliases[i]; ListViewItem item = listAliases.Items.Add(alias.Name); item.SubItems.Add(alias.Value); item.SubItems.Add(EnumStrings.GetYesNoString(alias.Active)); item.Tag = alias.ID; Marshal.ReleaseComObject(alias); } Marshal.ReleaseComObject(aliases); }
protected override void DeleteItems(List <ListViewItem> items) { hMailServer.Links links = APICreator.Links; hMailServer.Domain domain = links.get_Domain(_domainID); Marshal.ReleaseComObject(links); hMailServer.Aliases aliases = domain.Aliases; foreach (ListViewItem item in items) { int aliasID = Convert.ToInt32(item.Tag); aliases.DeleteByDBID(aliasID); } Marshal.ReleaseComObject(domain); Marshal.ReleaseComObject(aliases); }
public bool SaveData() { bool newObject = false; if (representedObject == null) { hMailServer.Domain domain = APICreator.GetDomain(_domainID); hMailServer.Aliases aliases = domain.Aliases; representedObject = aliases.Add(); newObject = true; Marshal.ReleaseComObject(domain); Marshal.ReleaseComObject(aliases); } representedObject.Name = textName.Text; representedObject.Value = textValue.Text; representedObject.Active = checkEnabled.Checked; representedObject.Save(); // Refresh the node in the tree if the name has changed. IMainForm mainForm = Instances.MainForm; mainForm.RefreshCurrentNode(representedObject.Name); // Set the object to clean. DirtyChecker.SetClean(this); if (newObject) { SearchNodeText crit = new SearchNodeText(representedObject.Name); mainForm.SelectNode(crit); } return(true); }
public ucAlias(int domainID, int aliasID) { InitializeComponent(); _domainID = domainID; hMailServer.Domain domain = APICreator.GetDomain(domainID); if (aliasID > 0) { hMailServer.Aliases aliases = domain.Aliases; representedObject = aliases.get_ItemByDBID(aliasID); Marshal.ReleaseComObject(aliases); } textName.Text = "@" + domain.Name; Marshal.ReleaseComObject(domain); DirtyChecker.SubscribeToChange(this, OnContentChanged); new TabOrderManager(this).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst); }
internal Aliases(hMailServer.Aliases o) { _object = o; }