Beispiel #1
0
        /// <summary>
        /// Action Handler for the Click Event on the <i>Remote Database</i> -> <i>Refresh Fields</i> Menu Item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void refreshFieldsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            toolStripStatusLabel.Text = "Loading Databases...";
            try
            {
                var DataProvider = DataProviderFactory.createDataProvider(this.db);
                DataProvider.OnProgress = ((i, database) => { toolStripStatusLabel.Text = "Loading Data from " + database; });
                DataProvider.OnSave     = (() => { toolStripStatusLabel.Text = "Saving..."; });

                await Task.Run(() => DataProvider.RefreshColumns());
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error occured while loading data from the remote database" + Environment.NewLine + ex.Message + Environment.NewLine + Environment.NewLine + ex.StackTrace, "Database Compare: Failed to load from remote database", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                toolStripStatusLabel.Text = "Ready";
                RefreshFieldsView();
            }
        }