Example #1
0
 public hMailServer.Group AddGroup(string sName)
 {
     hMailServer.Group group = GetApp().Settings.Groups.Add();
     group.Name = sName;
     group.Save();
     return(group);
 }
Example #2
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");
            }
        }
Example #3
0
        private void SetupPublicFolders()
        {
            hMailServer.IMAPFolders folders = _application.Settings.PublicFolders;
            hMailServer.IMAPFolder  folder  = folders.Add("Test1");
            folder.Save();

            folder = folders.Add("Test2");
            folder.Save();

            folder = folders.Add("Test3");
            folder.Save();

            folder = folders.Add("ACL");
            folder.Save();

            hMailServer.Domain  domain   = _application.Domains[0];
            hMailServer.Account account1 = SingletonProvider <Utilities> .Instance.AddAccount(domain, "*****@*****.**", "test");

            hMailServer.IMAPFolderPermission permission = folder.Permissions.Add();
            permission.PermissionType      = hMailServer.eACLPermissionType.ePermissionTypeUser;
            permission.PermissionAccountID = account1.ID;
            permission.set_Permission(hMailServer.eACLPermission.ePermissionAdminister, true);
            permission.set_Permission(hMailServer.eACLPermission.ePermissionInsert, true);
            permission.Save();

            folder = folder.SubFolders.Add("MySubFolder");
            folder.Save();

            hMailServer.Group group1 = _application.Settings.Groups.Add();
            group1.Name = "ACLTestGroup";
            group1.Save();

            permission = folder.Permissions.Add();
            permission.PermissionType    = hMailServer.eACLPermissionType.ePermissionTypeGroup;
            permission.PermissionGroupID = group1.ID;
            permission.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true);
            permission.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true);
            permission.Save();
        }
Example #4
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");
            }
        }
Example #5
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);
        }
Example #6
0
        private void SetupGroupObject()
        {
            hMailServer.Group group = _application.Settings.Groups.Add();
            group.Name = "TestGroup";
            group.Save();

            hMailServer.Account gm1 = SingletonProvider <Utilities> .Instance.AddAccount(_application.Domains[0], "*****@*****.**", "test");

            hMailServer.Account gm2 = SingletonProvider <Utilities> .Instance.AddAccount(_application.Domains[0], "*****@*****.**", "test");

            hMailServer.Account gm3 = SingletonProvider <Utilities> .Instance.AddAccount(_application.Domains[0], "*****@*****.**", "test");

            hMailServer.GroupMember gm = group.Members.Add();
            gm.AccountID = gm1.ID;
            gm.Save();

            gm           = group.Members.Add();
            gm.AccountID = gm2.ID;
            gm.Save();

            gm           = group.Members.Add();
            gm.AccountID = gm3.ID;
            gm.Save();
        }