Ejemplo n.º 1
0
        private void ListRuleCriterias()
        {
            listCriterias.Items.Clear();

            hMailServer.RuleCriterias ruleCriterias = _rule.Criterias;
            for (int i = 0; i < ruleCriterias.Count; i++)
            {
                hMailServer.RuleCriteria ruleCriteria = ruleCriterias[i];

                string name = null;

                if (ruleCriteria.UsePredefined)
                {
                    name = EnumStrings.GetPredefinedFieldString(ruleCriteria.PredefinedField);
                }
                else
                {
                    name = ruleCriteria.HeaderField;
                }

                ListViewItem listViewItem = listCriterias.Items.Add(name);
                listViewItem.SubItems.Add(EnumStrings.GetMatchTypeString(ruleCriteria.MatchType));
                listViewItem.SubItems.Add(ruleCriteria.MatchValue);

                listViewItem.Tag = ruleCriteria;
            }
        }
Ejemplo n.º 2
0
        private void ListExternalAccounts()
        {
            listFetchAccounts.Items.Clear();

            hMailServer.FetchAccounts fetchAccounts = _representedAccount.FetchAccounts;

            for (int i = 0; i < fetchAccounts.Count; i++)
            {
                hMailServer.FetchAccount fetchAccount = fetchAccounts.get_Item(i);

                string name    = fetchAccount.Name;
                string enabled = EnumStrings.GetYesNoString(fetchAccount.Enabled);

                ListViewItem item = listFetchAccounts.Items.Add(name);
                item.SubItems.Add(enabled);

                if (fetchAccount.Enabled)
                {
                    item.SubItems.Add(fetchAccount.NextDownloadTime);
                }

                item.Tag = fetchAccount.ID;

                Marshal.ReleaseComObject(fetchAccount);
            }
        }
Ejemplo n.º 3
0
        private string GetPermissionName(hMailServer.IMAPFolderPermission permission)
        {
            string name = "";

            switch (permission.PermissionType)
            {
            case eACLPermissionType.ePermissionTypeUser:
            {
                hMailServer.Account account = permission.Account;
                name = account.Address;
                break;
            }

            case eACLPermissionType.ePermissionTypeGroup:
            {
                hMailServer.Group group = permission.Group;
                name = group.Name;
                break;
            }

            case eACLPermissionType.ePermissionTypeAnyone:
            {
                name = EnumStrings.GetPermissionTypeString(permission.PermissionType);
                break;
            }
            }

            return(name);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
    // Slower
    public static bool TryToStringFast_Enum_Only <T>(this T e, [MaybeNullWhen(false)] out string str)
        where T : struct, Enum
    {
        IConvertible cv = (IConvertible)e;

        return(EnumStrings <T> .TryGetEnumString(cv.ToInt32(CultureInfo.InvariantCulture), out str));
    }
Ejemplo n.º 6
0
    // Slower
    public static string ToStringFast_Enum_Only <T>(this T e)
        where T : struct, Enum
    {
        IConvertible cv = (IConvertible)e;

        return(EnumStrings <T> .GetEnumString(cv.ToInt32(CultureInfo.InvariantCulture)));
    }
Ejemplo n.º 7
0
        protected override void LoadList()
        {
            listDistributionLists.Items.Clear();

            hMailServer.Links             links  = APICreator.Links;
            hMailServer.Domain            domain = links.get_Domain(_domainID);
            hMailServer.DistributionLists lists  = domain.DistributionLists;

            for (int i = 0; i < lists.Count; i++)
            {
                hMailServer.DistributionList list = lists[i];

                ListViewItem item = listDistributionLists.Items.Add(list.Address);

                item.SubItems.Add(EnumStrings.GetYesNoString(list.Active));

                item.Tag = list.ID;

                Marshal.ReleaseComObject(list);
            }

            Marshal.ReleaseComObject(lists);
            Marshal.ReleaseComObject(domain);
            Marshal.ReleaseComObject(links);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Tries to retrieve the resource for the provided key.
        /// </summary>
        /// <param name="key"></param>
        /// <returns>Returns the localized string or if not found the key itself.</returns>
        public static string Get(EnumStrings key)
        {
            string res = ResMgr.GetString(key.ToString());

            if (res == null)
            {
                res = key.ToString();
            }
            return(res);
        }
Ejemplo n.º 9
0
        private void InitItemsSourceFromType(Type type)
        {
            enumsList = Enum.GetValues(type);
            List <string> labels = new List <string>();

            foreach (Enum value in enumsList)
            {
                labels.Add(EnumStrings.GetEnumLabel(value));
            }
            this.ItemsSource = labels;
        }
Ejemplo n.º 10
0
        public override T Parse(string input)
        {
            // First try to get the fields with EnumMemberAttribute
            if (input != null && EnumStrings.ContainsKey(input))
            {
                return(EnumStrings[input]);
            }

            // Fallback to the real Enum.Parse
            return((T)Enum.Parse(Type, input, true));
        }
Ejemplo n.º 11
0
        private void ListRules()
        {
            listRules.Items.Clear();

            for (int i = 0; i < _rulesCollection.Count; i++)
            {
                hMailServer.Rule rule = _rulesCollection[i];

                ListViewItem item = listRules.Items.Add(rule.Name);
                item.SubItems.Add(EnumStrings.GetYesNoString(rule.Active));
                item.Tag = rule.ID;

                Marshal.ReleaseComObject(rule);
            }
        }
Ejemplo n.º 12
0
        private void ListRuleActions()
        {
            listActions.Items.Clear();

            hMailServer.RuleActions ruleActions = _rule.Actions;
            for (int i = 0; i < ruleActions.Count; i++)
            {
                hMailServer.RuleAction ruleAction = ruleActions[i];

                string name = EnumStrings.GetRuleActionString(ruleAction.Type);

                ListViewItem listViewItem = listActions.Items.Add(name);
                listViewItem.Tag = ruleAction;
            }
        }
Ejemplo n.º 13
0
        protected override void LoadList()
        {
            listAccounts.Items.Clear();

            hMailServer.Accounts accounts = representedDomain.Accounts;

            for (int i = 0; i < accounts.Count; i++)
            {
                hMailServer.Account account = accounts[i];

                ListViewItem item = listAccounts.Items.Add(account.Address);

                item.SubItems.Add(EnumStrings.GetYesNoString(account.Active));

                item.Tag = account;
            }
        }
Ejemplo n.º 14
0
        private ListViewItem ListPermission(hMailServer.IMAPFolderPermission permission)
        {
            string name = "<Deleted>";

            try
            {
                name = GetPermissionName(permission);
            }
            catch (Exception)
            {
            }

            ListViewItem item = listACL.Items.Add(EnumStrings.GetPermissionTypeString(permission.PermissionType));

            item.SubItems.Add(name);
            item.Tag = permission;
            return(item);
        }
Ejemplo n.º 15
0
        private void FillCombos()
        {
            comboType.AddItem(EnumStrings.GetPermissionTypeString(eACLPermissionType.ePermissionTypeUser), eACLPermissionType.ePermissionTypeUser);

            if (_onlyUsers == false)
            {
                comboType.AddItem(EnumStrings.GetPermissionTypeString(eACLPermissionType.ePermissionTypeGroup), eACLPermissionType.ePermissionTypeGroup);
                comboType.AddItem(EnumStrings.GetPermissionTypeString(eACLPermissionType.ePermissionTypeAnyone), eACLPermissionType.ePermissionTypeAnyone);
            }

            comboType.SelectedIndex = 0;


            hMailServer.Domains domains = APICreator.Application.Domains;
            string domainNames          = domains.Names;

            Marshal.ReleaseComObject(domains);

            string[] rows = Microsoft.VisualBasic.Strings.Split(domainNames, "\r\n", -1, Microsoft.VisualBasic.CompareMethod.Binary);

            foreach (string row in rows)
            {
                if (string.IsNullOrEmpty(row))
                {
                    continue;
                }

                string[] properties = Microsoft.VisualBasic.Strings.Split(row, "\t", -1, Microsoft.VisualBasic.CompareMethod.Text);

                int    id   = Convert.ToInt32(properties[0]);
                string name = properties[1];

                if (_specificDomainID == 0 || _specificDomainID == id)
                {
                    comboDomains.AddItem(name, id);
                }
            }


            if (comboDomains.Items.Count > 0)
            {
                comboDomains.SelectedIndex = 0;
            }
        }
Ejemplo n.º 16
0
        public static void Register(Type enumType)
        {
            if (enumType == null)
            {
                throw new ArgumentNullException(nameof(enumType));
            }

            if (!enumType.IsEnum)
            {
                throw new ArgumentException($"Not an enum type: {enumType}");
            }

            if (enumType.ContainsGenericParameters)
            {
                return;
            }

            _enums.TryAdd(TypeUtil.GetTypeHandleSlow(enumType), EnumStrings.Create(enumType));
        }
Ejemplo n.º 17
0
        protected override void LoadList()
        {
            listObjects.Items.Clear();

            hMailServer.SURBLServers surblServers = GetSurblServers();

            for (int i = 0; i < surblServers.Count; i++)
            {
                hMailServer.SURBLServer surblServer = surblServers[i];

                ListViewItem item = listObjects.Items.Add(surblServer.DNSHost);
                item.SubItems.Add(EnumStrings.GetYesNoString(surblServer.Active));
                item.Tag = surblServer.ID;

                Marshal.ReleaseComObject(surblServer);
            }

            Marshal.ReleaseComObject(surblServers);
        }
Ejemplo n.º 18
0
        public EnumParser()
        {
            Type = typeof(T);
            foreach (var value in Enum.GetValues(Type))
            {
                Values.Add((T)value);
            }

            // Cache this as it's expensive to fetch
            foreach (var value in Values)
            {
                foreach (var attribute in Type.GetField(Enum.GetName(Type, value))
                         .GetCustomAttributes(false).OfType <EnumStringAttribute>())
                {
                    EnumStrings.Add(attribute.Value, (T)value);
                    EnumStringsReverse.Add((T)value, attribute.Value);
                }
            }
        }
Ejemplo n.º 19
0
        protected override void LoadList()
        {
            listObjects.Items.Clear();

            hMailServer.DNSBlackLists dnsBlackLists = GetDNSBlackLists();
            for (int i = 0; i < dnsBlackLists.Count; i++)
            {
                hMailServer.DNSBlackList dnsBlackList = dnsBlackLists[i];

                ListViewItem item = listObjects.Items.Add(dnsBlackList.DNSHost);
                item.SubItems.Add(EnumStrings.GetYesNoString(dnsBlackList.Active));

                item.Tag = dnsBlackList.ID;

                Marshal.ReleaseComObject(dnsBlackList);
            }

            Marshal.ReleaseComObject(dnsBlackLists);
        }
Ejemplo n.º 20
0
        private void FillCombos()
        {
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTContains), eRuleMatchType.eMTContains);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTEquals), eRuleMatchType.eMTEquals);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTGreaterThan), eRuleMatchType.eMTGreaterThan);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTLessThan), eRuleMatchType.eMTLessThan);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTNotContains), eRuleMatchType.eMTNotContains);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTNotEquals), eRuleMatchType.eMTNotEquals);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTRegExMatch), eRuleMatchType.eMTRegExMatch);
            comboSearchType.AddItem(EnumStrings.GetMatchTypeString(eRuleMatchType.eMTWildcard), eRuleMatchType.eMTWildcard);

            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTBody), eRulePredefinedField.eFTBody);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTCC), eRulePredefinedField.eFTCC);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTFrom), eRulePredefinedField.eFTFrom);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTMessageSize), eRulePredefinedField.eFTMessageSize);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTRecipientList), eRulePredefinedField.eFTRecipientList);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTSubject), eRulePredefinedField.eFTSubject);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTTo), eRulePredefinedField.eFTTo);
            comboPredefinedField.AddItem(EnumStrings.GetPredefinedFieldString(eRulePredefinedField.eFTDeliveryAttempts), eRulePredefinedField.eFTDeliveryAttempts);
        }
Ejemplo n.º 21
0
        public override T?TryParse(string input)
        {
            // First try to get the fields with EnumMemberAttribute
            if (input != null && EnumStrings.ContainsKey(input))
            {
                return(EnumStrings[input]);
            }

            // Fallback to a try parse (we can't use the
            // real TryParse here as it has type parameters)
            foreach (var value in Values)
            {
                if (Enum.GetName(Type, value).Equals(input))
                {
                    return(value);
                }
            }

            return(null);
        }
Ejemplo n.º 22
0
        protected override void LoadList()
        {
            listAccounts.Items.Clear();

            hMailServer.Domain domain = APICreator.GetDomain(_domainID);

            hMailServer.Accounts accounts = domain.Accounts;

            for (int i = 0; i < accounts.Count; i++)
            {
                hMailServer.Account account = accounts[i];
                ListViewItem        item    = listAccounts.Items.Add(account.Address);
                item.SubItems.Add(EnumStrings.GetYesNoString(account.Active));
                item.Tag = account.ID;

                Marshal.ReleaseComObject(account);
            }

            Marshal.ReleaseComObject(domain);
            Marshal.ReleaseComObject(accounts);
        }
Ejemplo n.º 23
0
        private void DisplayServerState()
        {
            labelCurrentStatus.Text = EnumStrings.GetStateString(_application.ServerState);

            switch (_application.ServerState)
            {
            case eServerState.hStateRunning:
                buttonStartStop.Text    = Strings.Localize("Pause");
                buttonStartStop.Enabled = true;
                break;

            case eServerState.hStateStopped:
                buttonStartStop.Text    = Strings.Localize("Resume");
                buttonStartStop.Enabled = true;
                break;

            default:
                buttonStartStop.Enabled = false;
                break;
            }
        }
Ejemplo n.º 24
0
        protected override void LoadList()
        {
            listDomains.Items.Clear();

            hMailServer.Application app     = APICreator.Application;
            hMailServer.Domains     domains = app.Domains;

            string domainNames = domains.Names;

            string[] rows = Microsoft.VisualBasic.Strings.Split(domainNames, "\r\n", -1, Microsoft.VisualBasic.CompareMethod.Binary);

            List <ListViewItem> items = new List <ListViewItem>();

            foreach (string row in rows)
            {
                if (string.IsNullOrEmpty(row))
                {
                    continue;
                }

                string[] properties = Microsoft.VisualBasic.Strings.Split(row, "\t", -1, Microsoft.VisualBasic.CompareMethod.Text);

                int    id      = Convert.ToInt32(properties[0]);
                string name    = properties[1];
                bool   enabled = properties[2] == "1";

                ListViewItem item = new ListViewItem();

                item.Text = name;
                item.SubItems.Add(EnumStrings.GetYesNoString(enabled));
                item.Tag = id;

                items.Add(item);
            }

            listDomains.Items.AddRange(items.ToArray());

            Marshal.ReleaseComObject(domains);
        }
Ejemplo n.º 25
0
        private void FillCombo()
        {
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRADeleteEmail), eRuleActionType.eRADeleteEmail);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRAForwardEmail), eRuleActionType.eRAForwardEmail);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRAMoveToImapFolder), eRuleActionType.eRAMoveToImapFolder);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRAReply), eRuleActionType.eRAReply);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRARunScriptFunction), eRuleActionType.eRARunScriptFunction);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRASetHeaderValue), eRuleActionType.eRASetHeaderValue);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRAStopRuleProcessing), eRuleActionType.eRAStopRuleProcessing);
            comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRACreateCopy), eRuleActionType.eRACreateCopy);


            if (_isAccountLevelRule == false)
            {
                comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRABindToAddress), eRuleActionType.eRABindToAddress);
                comboAction.AddItem(EnumStrings.GetRuleActionString(eRuleActionType.eRASendUsingRoute), eRuleActionType.eRASendUsingRoute);
            }


            comboAction.SelectedIndex = 0;

            // Fill routes
            comboRouteName.AddItem("None", 0);

            hMailServer.Settings settings = APICreator.Application.Settings;
            hMailServer.Routes   routes   = settings.Routes;

            for (int i = 0; i < routes.Count; i++)
            {
                hMailServer.Route route = routes[i];

                comboRouteName.AddItem(route.DomainName, route.ID);

                Marshal.ReleaseComObject(route);
            }
            comboRouteName.SelectedIndex = 0;
            Marshal.ReleaseComObject(routes);
        }
Ejemplo n.º 26
0
 // Faster
 public static bool TryToStringFast_Enum_Only <T>(int enumVal, [MaybeNullWhen(false)] out string str)
     where T : struct, Enum
 {
     return(EnumStrings <T> .TryGetEnumString(enumVal, out str));
 }
Ejemplo n.º 27
0
 public static string FastToString(this Data data)
 {
     return(EnumStrings <Data> .GetEnumString((int)data));
 }
Ejemplo n.º 28
0
 // Faster
 public static string ToStringFast_Enum_Only <T>(int enumVal)
     where T : struct, Enum
 {
     return(EnumStrings <T> .GetEnumString(enumVal));
 }