public DialogResult ShowDialog(out FocusedInboxOverride newFocusedInboxOverride) { DialogResult result = ShowDialog(); newFocusedInboxOverride = newOverride; return(result); }
public NewFocusedInboxOverrideForm(FocusedInboxOverride OriginalOverride) { // Edit mode. InitializeComponent(); originalOverride = OriginalOverride; editMode = true; }
private void Button_OK_Click(object sender, EventArgs e) { if (FocusedInboxOverrideSender.TryCreate(textBox_Name.Text, textBox_Address.Text, out FocusedInboxOverrideSender newSender)) { if (editMode) { newOverride = new FocusedInboxOverride() { Id = originalOverride.Id, ClassifyAs = (Classify)comboBox_Classify.SelectedIndex, SenderEmailAddress = newSender }; if (newOverride.ClassifyAs == originalOverride.ClassifyAs && newOverride.SenderEmailAddress.Name == originalOverride.SenderEmailAddress.Name) { // Nothing have changed. DialogResult = DialogResult.Cancel; Close(); } else { DialogResult = DialogResult.OK; Close(); } } else { newOverride = new FocusedInboxOverride() { ClassifyAs = (Classify)comboBox_Classify.SelectedIndex, SenderEmailAddress = newSender }; DialogResult = DialogResult.OK; Close(); } } else { MessageBox.Show("Invalid address format.", "Office365APIEditor"); DialogResult = DialogResult.None; } }
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); } } } } }
private async void Button_OK_ClickAsync(object sender, EventArgs e) { UseWaitCursor = true; Enabled = false; viewerRequestHelper = new ViewerRequestHelper(); if (overridesToBeRemoved.Count != 0) { // A part of original override was removed. foreach (var item in overridesToBeRemoved) { try { await viewerRequestHelper.RemoveFocusedInboxOverrideAsync(item); } catch (Exception ex) { MessageBox.Show(ex.Message, "Office365APIEditor", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } foreach (DataGridViewRow row in dataGridView_FocusedInboxOverrides.Rows) { if (row.Cells[0].Value == null || row.Cells[0].Value.ToString() == "") { // This is a new entry // Need to add new settings. FocusedInboxOverride newOverride = new FocusedInboxOverride { ClassifyAs = (Classify)Enum.Parse(typeof(Classify), row.Cells[1].Value.ToString()), SenderEmailAddress = new FocusedInboxOverrideSender(row.Cells[2].Value.ToString(), row.Cells[3].Value.ToString()) }; try { await viewerRequestHelper.AddOrUpdateFocusedInboxOverrideAsync(newOverride); } catch (Exception ex) { MessageBox.Show(ex.Message, "Office365APIEditor", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (overridesToBeChanged.Contains(row.Cells[0].Value.ToString())) { // This override is changed. FocusedInboxOverride newOverride = new FocusedInboxOverride { ClassifyAs = (Classify)Enum.Parse(typeof(Classify), row.Cells[1].Value.ToString()), SenderEmailAddress = new FocusedInboxOverrideSender(row.Cells[2].Value.ToString(), row.Cells[3].Value.ToString()) }; try { await viewerRequestHelper.AddOrUpdateFocusedInboxOverrideAsync(newOverride); } catch (Exception ex) { MessageBox.Show(ex.Message, "Office365APIEditor", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } UseWaitCursor = false; Close(); }