Пример #1
0
        private void btnAddUrl_Click(object sender, EventArgs e)
        {
            string url         = BrowserManager.GetSanitizedUrl(txtUrl.Text);
            string browserName = cboBrowser.Text;
            string matchType   = cboMatchType.Text;

            if (string.IsNullOrWhiteSpace(url) || string.IsNullOrWhiteSpace(browserName))
            {
                return;
            }

            Browser browser = BrowserManager.GetBrowserByName(browserName);

            int rowIndex = -1;

            foreach (DataGridViewRow r in grdRules.Rows)
            {
                if (Convert.ToString(r.Cells[2].Value) == url)
                {
                    rowIndex = r.Index;
                    break;
                }
            }
            DataGridViewRow row;

            if (rowIndex >= 0)
            {
                row = grdRules.Rows[rowIndex];
            }
            else
            {
                row      = grdRules.Rows[grdRules.Rows.Add()];
                rowIndex = row.Index;
            }

            row.Cells[0].Value = grdRules.Rows.Count - 1;
            row.Cells[1].Value = matchType;
            row.Cells[2].Value = url;
            row.Cells[3].Value = imlBrowsers.Images[browserName];
            row.Cells[4].Value = browserName;

            RenumberGridRows();
            SelectRow(rowIndex);
        }
Пример #2
0
        public static Rule Parse(string ruleString)
        {
            if (string.IsNullOrWhiteSpace(ruleString))
            {
                return(null);
            }

            Rule rule = new Rule();

            string[] parts = ruleString.Split('|');
            foreach (string part in parts)
            {
                int index = part.IndexOf('=');
                if (index <= 0)
                {
                    continue;
                }
                else
                {
                    string key   = part.Substring(0, index);
                    string value = part.Substring(index + 1);

                    if (key.Equals("RuleId", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.RuleId = Convert.ToInt32(value);
                    }
                    else if (key.Equals("MatchType", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.MatchType = (MatchType)Enum.Parse(typeof(MatchType), value);
                    }
                    else if (key.Equals("Url", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.Url = BrowserManager.GetSanitizedUrl(value);
                    }
                    else if (key.Equals("BrowserName", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.BrowserName = value;
                    }
                }
            }

            return(rule);
        }