Esempio n. 1
0
        public DialogResult ShowDialog(out FocusedInboxOverride newFocusedInboxOverride)
        {
            DialogResult result = ShowDialog();

            newFocusedInboxOverride = newOverride;
            return(result);
        }
Esempio n. 2
0
        public NewFocusedInboxOverrideForm(FocusedInboxOverride OriginalOverride)
        {
            // Edit mode.

            InitializeComponent();
            originalOverride = OriginalOverride;
            editMode         = true;
        }
Esempio n. 3
0
        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();
        }