private void OnRunAutomaticDataDialog(object sender, System.Windows.RoutedEventArgs e)
        {
            AutomaticGridData data = dialog.Fill();

            if (data == null)
            {
                return;
            }
            AutomaticSourcingEditorItem page = (AutomaticSourcingEditorItem)getAutomaticSourcingEditor().getActivePage();

            string filePath = page.EditedObject.excelFile;
            string path     = System.IO.Path.GetDirectoryName(filePath) + System.IO.Path.DirectorySeparatorChar;
            string fileName = GetAutomaticSourcingService().FileService.FileTransferService.AutomaticActionsUpload(System.IO.Path.GetFileName(filePath), path);

            if (fileName == null)
            {
                return;
            }

            GetAutomaticSourcingService().SaveTableHandler += UpdateSaveInfo;
            GetAutomaticSourcingService().OnUpdateUniverse += OnUpdateUniverse;
            Mask(true, "Running ...");
            data.automaticSourcingOid = page.EditedObject.oid.Value;

            data.setExcelFilePath(fileName);
            data.excelExtension = Kernel.Util.ExcelUtil.GetFileExtension(fileName).Extension;
            OnCancelAutomaticGridDataDialog(sender, e);
            GetAutomaticSourcingService().Run(data);
        }
 protected override void performRun(AutomaticSourcingEditorItem page)
 {
     if (validateColumns(page))
     {
         dialog = new AutomaticEnrichmentTableDataDialog();
         dialog.EnrichmentTableService = ApplicationManager.ControllerFactory.ServiceFactory.GetEnrichmentTableService();
         dialog.loadTables(page.getAutomaticSourcingForm().SpreadSheet.DocumentName);
         //dialog.NewTableNameTextBox.Text = page.getAutomaticSourcingForm().SpreadSheet.DocumentName;
         dialog.cancelButton.Click += OnCancelAutomaticGridDataDialog;
         dialog.runButton.Click    += OnRunAutomaticDataDialog;
         dialog.ShowDialog();
     }
 }
        protected virtual bool validateColumns(AutomaticSourcingEditorItem page)
        {
            List <String> columns = new List <string>(0);

            foreach (AutomaticSourcingSheet sheet in page.EditedObject.automaticSourcingSheetListChangeHandler.Items)
            {
                bool?hasPrimaryKey = null;
                if (sheet.firstRowColumn)
                {
                    FillAutomaticSourcingColumn();
                }
                foreach (AutomaticSourcingColumn column in sheet.automaticSourcingColumnListChangeHandler.Items)
                {
                    if (!hasPrimaryKey.HasValue)
                    {
                        hasPrimaryKey = false;
                    }
                    if (column.primary)
                    {
                        hasPrimaryKey = true;
                    }
                    if (!column.isValid())
                    {
                        columns.Add(column.ToString());
                    }
                }
                if (hasPrimaryKey.HasValue && !hasPrimaryKey.Value)
                {
                    MessageDisplayer.DisplayWarning("Automatic Enrichment Table Run", "There is no primary column in sheet : '" + sheet.Name + "'!\nYou have to set at least one column as primary.");
                    return(false);
                }
            }
            if (columns.Count > 0)
            {
                String message = "There is columns with no definition : ";
                String coma    = "";
                foreach (String column in columns)
                {
                    message += coma + "\"" + column + "\"";
                    coma     = ", ";
                }
                message += "\nDo you want to continue?";
                MessageBoxResult response = MessageDisplayer.DisplayYesNoQuestion("Automatic Enrichment Table Run", message);
                if (response == MessageBoxResult.Yes)
                {
                    return(true);
                }
                return(false);
            }
            return(true);
        }
        protected virtual bool validateColumns(AutomaticSourcingEditorItem page)
        {
            List <String> columns = new List <string>(0);

            foreach (AutomaticSourcingSheet sheet in page.EditedObject.automaticSourcingSheetListChangeHandler.Items)
            {
                if (sheet.firstRowColumn)
                {
                    FillAutomaticSourcingColumn();
                }

                foreach (AutomaticSourcingColumn column in sheet.automaticSourcingColumnListChangeHandler.Items)
                {
                    if (!column.isValid())
                    {
                        columns.Add(column.ToString());
                    }
                }
            }
            if (columns.Count > 0)
            {
                String message = "There is columns with no definition : ";
                String coma    = "";
                foreach (String column in columns)
                {
                    message += coma + "\"" + column + "\"";
                    coma     = ", ";
                }
                message += "\nDo you want to continue?";
                MessageBoxResult response = MessageDisplayer.DisplayYesNoQuestion("Run", message);
                if (response == MessageBoxResult.Yes)
                {
                    return(true);
                }
                return(false);
            }
            return(true);
        }