예제 #1
0
        /// <summary>
        /// Show a dialog to import the spreadsheet, then import/update the data into the database.
        /// </summary>
        /// <param name="importController">Controller.SpreadsheetImport</param>
        private void executeImportSpreadsheetController(Controller.SpreadsheetImport importController)
        {
            // TODO: split this to catch different exception types (database error, file error)
            try
            {
                // execute it
                importController.openSpreadsheet();
                importController.importUpdate();
            }
            catch (Exception ex)
            {
                // it failed
                // tell the user and the logger
                string importDataErrorMessage = "Error importing " + importController.importType + " data: " + ex.Message;
                System.Windows.Forms.MessageBox.Show(importDataErrorMessage, "Retail POS",
                                                     System.Windows.Forms.MessageBoxButtons.OK,
                                                     System.Windows.Forms.MessageBoxIcon.Error);
                logger.Error(ex, importDataErrorMessage);
                logger.Error("Stack trace: " + ex.StackTrace);

                return;
            }

            // at this point, it succeeded
            // tell the user and the logger
            string importDataSuccessMessage = "Successfully imported data";

            System.Windows.Forms.MessageBox.Show(importDataSuccessMessage, "Retail POS",
                                                 System.Windows.Forms.MessageBoxButtons.OK,
                                                 System.Windows.Forms.MessageBoxIcon.Information);
            logger.Debug(importDataSuccessMessage);
        }
예제 #2
0
        private void productsToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            // create an instance of the Controller
            Controller.SpreadsheetImport spreadsheetImportController = spreadsheetImportFactory.getImportSpreadsheetController("Product");

            // execute it
            executeImportSpreadsheetController(spreadsheetImportController);
        }