private void Button_Add_Click(object sender, EventArgs e) { NewFocusedInboxOverrideForm newFocusedInboxOverrideForm = new NewFocusedInboxOverrideForm(); if (newFocusedInboxOverrideForm.ShowDialog(out FocusedInboxOverride newOverride) == DialogResult.OK) { DataGridViewRow itemRow = new DataGridViewRow(); itemRow.CreateCells(dataGridView_FocusedInboxOverrides, new object[] { newOverride.Id, newOverride.ClassifyAs.ToString(), newOverride.SenderEmailAddress.Name, newOverride.SenderEmailAddress.Address }); if (dataGridView_FocusedInboxOverrides.InvokeRequired) { dataGridView_FocusedInboxOverrides.Invoke(new MethodInvoker(delegate { dataGridView_FocusedInboxOverrides.Rows.Add(itemRow); })); } else { dataGridView_FocusedInboxOverrides.Rows.Add(itemRow); } } }
private void Button_Edit_Click(object sender, EventArgs e) { if (dataGridView_FocusedInboxOverrides.RowCount >= 1 && dataGridView_FocusedInboxOverrides.SelectedRows.Count == 1) { // something selected. DataGridViewRow selectedRow = dataGridView_FocusedInboxOverrides.SelectedRows[0]; FocusedInboxOverride selectedOverride = new FocusedInboxOverride() { Id = selectedRow.Cells[0].Value == null ? "" : selectedRow.Cells[0].Value.ToString(), ClassifyAs = (Classify)Enum.Parse(typeof(Classify), selectedRow.Cells[1].Value.ToString()), SenderEmailAddress = new FocusedInboxOverrideSender( selectedRow.Cells[2].Value == null ? "" : selectedRow.Cells[2].Value.ToString(), selectedRow.Cells[3].Value.ToString()) }; NewFocusedInboxOverrideForm newFocusedInboxOverrideForm = new NewFocusedInboxOverrideForm(selectedOverride); if (newFocusedInboxOverrideForm.ShowDialog(out FocusedInboxOverride newOverride) == DialogResult.OK) { selectedRow.Cells[1].Value = newOverride.ClassifyAs.ToString(); selectedRow.Cells[2].Value = newOverride.SenderEmailAddress.Name; selectedRow.Cells[3].Value = newOverride.SenderEmailAddress.Address; if (newOverride.Id != "") { // This override is not a new one because it have ID. if (!overridesToBeChanged.Contains(newOverride.Id)) { overridesToBeChanged.Add(newOverride.Id); } } } } }