void App_Startup(object sender, StartupEventArgs e)
        {
            _options = (ExecutionTaskOptions)SQLDataProducerSettings.Default.ExecutionOptions;
            if (_options == null)
            {
                _options = new ExecutionTaskOptions();
            }

            this.MainWindow = new MainWindow(_options);
            this.MainWindow.Show();
        }
Beispiel #2
0
        public MainWindowViewModel(ExecutionTaskOptions options)
        {
            Model = new SQLDataProducer.Model.ApplicationModel();

            Model.Options      = options;
            ExecutionOrderVM   = new ExecutionOrderViewModel(Model);
            ExecutionDetailsVM = new ExecutionDetailsViewModel(Model);
            SidePanelVM        = new SidePanelViewModel(Model);

            OpenSqlConnectionBuilderCommand = new DelegateCommand(ShowSQLConnectionStringBuilder);
            LoadTablesCommand = new DelegateCommand(LoadTables);
            SaveCommand       = new DelegateCommand(SaveExecutionListToFile);
            LoadCommand       = new DelegateCommand(LoadExecutionListFromFile);

            RunCommand = new DelegateCommand(RunExecution);
        }
        public void RunWorkFlowAsync(string connectionString, DataConsumerPluginWrapper consumerWrapper, ExecutionResultBuilder builder, ExecutionTaskOptions options, ExecutionNode rootNode)
        {
            Action a = new Action(() =>
            {
                RunWorkFlow(connectionString, consumerWrapper, builder, options, rootNode);
            });

            a.BeginInvoke(null, null);
        }
        public void RunWorkFlow(string connectionString, DataConsumerPluginWrapper consumerWrapper, ExecutionResultBuilder builder, ExecutionTaskOptions options, ExecutionNode rootNode)
        {
            using (var consumer = consumerWrapper.CreateInstance())
                using (iterator = new NodeIterator(rootNode))
                {
                    consumer.ReportInsertionCallback = builder.Increment;
                    consumer.ReportErrorCallback     = builder.AddError;

                    ValueStore   valueStore = new ValueStore();
                    DataProducer producer   = new DataProducer(valueStore);

                    builder.Begin();

                    consumer.Init(connectionString, consumerWrapper.OptionsTemplate);
                    // hmm: Iterator should hold the Ienumerable and reset it when ever it starts over on a node?

                    consumer.Consume(producer.ProduceRows(iterator.GetTablesRecursive()), valueStore);
                }
        }
 public MainWindow(ExecutionTaskOptions options)
 {
     InitializeComponent();
     _options     = options;
     this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
 }