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); }
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); }