Exemple #1
0
 private void RemoveAllGroups()
 {
     hMailServer.Groups groups = _settings.Groups;
     while (groups.Count > 0)
     {
         groups.DeleteByDBID(groups[0].ID);
     }
 }
Exemple #2
0
        private hMailServer.Groups GetGroups()
        {
            hMailServer.Settings settings = APICreator.Application.Settings;

            hMailServer.Groups groups = settings.Groups;

            Marshal.ReleaseComObject(settings);

            return(groups);
        }
Exemple #3
0
        public void OnDeleteObject(object sender, EventArgs args)
        {
            if (Utility.AskDeleteItem(_groupName))
            {
                hMailServer.Groups groups = APICreator.Groups;
                groups.DeleteByDBID(_groupID);
                Instances.MainForm.RefreshParentNode();

                Marshal.ReleaseComObject(groups);
            }
        }
Exemple #4
0
        protected override void DeleteItems(List <ListViewItem> items)
        {
            hMailServer.Groups groups = APICreator.Groups;

            foreach (var item in items)
            {
                int id = Convert.ToInt32(item.Tag);
                groups.DeleteByDBID(id);
            }

            Marshal.ReleaseComObject(groups);
        }
Exemple #5
0
        public ucGroup(int groupID)
        {
            InitializeComponent();

            if (groupID > 0)
            {
                hMailServer.Groups groups = APICreator.Groups;
                representedObject = groups.get_ItemByDBID(groupID);
                Marshal.ReleaseComObject(groups);
            }

            DirtyChecker.SubscribeToChange(this, OnContentChanged);
            new TabOrderManager(this).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst);
            EnableDisable();
        }
Exemple #6
0
        protected override void LoadList()
        {
            listGroups.Items.Clear();

            hMailServer.Groups groups = APICreator.Groups;

            for (int i = 0; i < groups.Count; i++)
            {
                hMailServer.Group group = groups[i];

                ListViewItem item = listGroups.Items.Add(group.Name);
                item.Tag = group.ID;
            }

            Marshal.ReleaseComObject(groups);
        }
Exemple #7
0
        public void TestGroup()
        {
            hMailServer.Groups groups = _application.Settings.Groups;
            hMailServer.Group  group  = groups.Add();
            group.Name = "MyGroup";
            group.Save();

            if (group.ID == 0)
            {
                throw new Exception("Group not properly saved");
            }

            _application.Settings.Groups.DeleteByDBID(group.ID);

            if (groups.Count != 0)
            {
                throw new Exception("Group not properly deleted");
            }
        }
Exemple #8
0
        public void TestGroupMember()
        {
            hMailServer.Groups groups = _application.Settings.Groups;

            hMailServer.Group group = groups.Add();
            group.Name = "MyGroup";
            group.Save();

            if (group.ID == 0)
            {
                throw new Exception("Group not properly saved");
            }

            hMailServer.GroupMember member = group.Members.Add();
            member.AccountID = 1;
            member.Save();

            if (member.ID == 0)
            {
                throw new Exception("Group member not properly saved");
            }
        }
Exemple #9
0
        public bool SaveData()
        {
            bool newObject = false;

            if (representedObject == null)
            {
                hMailServer.Settings settings = APICreator.Application.Settings;
                hMailServer.Groups   groups   = settings.Groups;
                representedObject = groups.Add();

                Marshal.ReleaseComObject(settings);
                Marshal.ReleaseComObject(groups);

                newObject = true;
            }

            representedObject.Name = textName.Text;

            representedObject.Save();

            // Refresh the node in the tree if the name has changed.
            IMainForm mainForm = Instances.MainForm;

            mainForm.RefreshCurrentNode(textName.Text);

            // Set the object to clean.
            DirtyChecker.SetClean(this);

            if (newObject)
            {
                SearchNodeText crit = new SearchNodeText(representedObject.Name);
                mainForm.SelectNode(crit);
            }

            EnableDisable();

            return(true);
        }
Exemple #10
0
        private void ListGroups()
        {
            EnableDomainsAndList(false);
            listItems.Enabled = true;

            listItems.Items.Clear();

            hMailServer.Settings settings = APICreator.Application.Settings;
            hMailServer.Groups   groups   = settings.Groups;

            for (int i = 0; i < groups.Count; i++)
            {
                hMailServer.Group group = groups[i];

                ListViewItem item = listItems.Items.Add(group.Name);
                item.Tag = group.ID;

                Marshal.ReleaseComObject(group);
            }

            Marshal.ReleaseComObject(settings);
            Marshal.ReleaseComObject(groups);
        }