/// <summary>
        ///     The update data source.
        /// </summary>
        private void UpdateDataSource()
        {
            Logger.Trace("Started UpdateDataSource()");

            if (DataSource != null)
            {
                this.loading = true;

                sourceType = ScaffoldConfig.ReturnSourceType(DataSource.SourceTypeId);

                ITableHierarchyService applicationService = new TempateHierarchyService();
                List <Hierarchy>       hierarchy          =
                    applicationService.ReturnHierarchyFromList(DataSource.Tables, true, true, true);

                AddNodes("Models", DomainTreeView, hierarchy, applicationService);

                this.loading = false;
            }
            else
            {
                Logger.Trace("Data Source not updated as domain is null ");
            }

            Logger.Trace("Completed UpdateDataSource()");
        }
Example #2
0
        /// <summary>
        ///     The update data source.
        /// </summary>
        private void UpdateDataSource()
        {
            Logger.Trace("Started UpdateDataSource()");

            if (this.DataSource != null)
            {
                this.sourceType = ScaffoldConfig.ReturnSourceType(this.DataSource.SourceTypeId);

                var sourceOptions = this.sourceType.Load(this.SavePath);

                if (this.sourceType.Test(sourceOptions))
                {
                    this.StartSplashScreen();
                    Thread.Sleep(100);
                    SplashScreen.UdpateStatusText("Loading schema information");

                    this.sourceDomain = this.sourceType.Import(sourceOptions);

                    IApplicationTableCollectionDifference differenceService =
                        new ApplicationTableCollectionDifference(new ApplicationTableDifference());
                    this.differences = differenceService.CompareTables(this.DataSource.Tables, this.sourceDomain.Tables);

                    ITableHierarchyService applicationService = new TempateHierarchyService();
                    List <Hierarchy>       hierarchy          = applicationService.ReturnHierarchyFromList(
                        this.differences.FirstExtraTables,
                        false,
                        false,
                        false);
                    this.AddNodes("Models", this.TreeViewAdd, hierarchy, applicationService);

                    hierarchy = applicationService.ReturnHierarchyFromList(this.differences.RefreshTable, false, false, false);

                    this.AddNodes("Models", this.TreeViewRefresh, hierarchy, applicationService);

                    hierarchy = applicationService.ReturnHierarchyFromList(
                        this.differences.FirstMissingTables,
                        false,
                        false,
                        false);

                    this.AddNodes("Models", this.TreeViewDelete, hierarchy, applicationService);
                    this.Valid = true;

                    Thread.Sleep(100);
                    this.CloseSplashScreen(false);
                }
                else
                {
                    MessageBox.Show(
                        "Invalid configuration. Please update source configuration.",
                        "Configuration Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);

                    this.Valid = false;
                }
            }
            else
            {
                this.Valid = false;
                Logger.Trace("Data Source not updated as domain is null ");
            }

            Logger.Trace("Completed UpdateDataSource()");
        }