コード例 #1
0
        static async Task Main(string[] args)
        {
            System.Console.WriteLine("Database Abstraction Sample");
            System.Console.WriteLine();

            IDatabase database = null;

            try {
                var appConfig = LoadConfigurationRoot();


                database = SelectDatabaseDialog.Run(appConfig);
                if (database == null)
                {
                    return;
                }
                var container = Bootstrap.Setup(database);

                await new ActionDialog(container).Run();
            }
            catch (Exception ex) {
                System.Console.WriteLine($"ERROR: {ex.Message}");
                System.Console.ReadLine();
            }
            finally {
                database?.Dispose();
            }
        }
コード例 #2
0
        public override void Execute(object parameter)
        {
            var context = parameter as IDatabaseUriContext;

            if (context == null)
            {
                return;
            }

            var dialog = new SelectDatabaseDialog
            {
                SelectedDatabaseUri = context.DatabaseUri
            };

            if (!dialog.ShowDialog())
            {
                return;
            }

            var databaseUri = dialog.SelectedDatabaseUri;

            if (databaseUri != DatabaseUri.Empty)
            {
                context.SetDatabaseUri(databaseUri);
            }
        }
コード例 #3
0
        public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource)
        {
            Assert.ArgumentNotNull(databaseUri, nameof(databaseUri));
            Assert.ArgumentNotNull(field, nameof(field));
            Assert.ArgumentNotNull(dataSource, nameof(dataSource));

            var dialog = new SelectDatabaseDialog
            {
                SelectedDatabaseUri = databaseUri
            };

            if (!dialog.ShowDialog())
            {
                return(null);
            }

            var d = dialog.SelectedDatabaseUri;

            if (d == DatabaseUri.Empty)
            {
                return(null);
            }

            SetDataSource(dataSource);
            dataSource["databasename"] = d.DatabaseName.ToString();

            return(dataSource);
        }
コード例 #4
0
        private void ChangeDatabase([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var dialog = new SelectDatabaseDialog
            {
                SelectedDatabaseUri = DatabaseUri
            };

            if (dialog.ShowDialog())
            {
                AppHost.Settings.ActiveDatabaseUri = dialog.SelectedDatabaseUri;
            }
        }
コード例 #5
0
        public static DatabaseUri GetDatabaseUri([NotNull] this IStartPageCommand command, [NotNull] StartPageContext context)
        {
            Assert.ArgumentNotNull(command, nameof(command));
            Assert.ArgumentNotNull(context, nameof(context));

            var result = context.StartPageViewer.DatabaseUri;

            if (result != DatabaseUri.Empty)
            {
                return(result);
            }

            if (result == DatabaseUri.Empty)
            {
                var dialog = new SelectDatabaseDialog
                {
                    SelectedDatabaseUri = AppHost.Settings.ActiveDatabaseUri
                };

                if (dialog.ShowDialog())
                {
                    result = dialog.SelectedDatabaseUri;
                    if (result != DatabaseUri.Empty)
                    {
                        AppHost.Settings.ActiveDatabaseUri = result;

                        context.StartPageViewer.DatabaseUri = result;
                        context.StartPageViewer.UpdateLinks();

                        return(result);
                    }
                }
            }

            return(DatabaseUri.Empty);
        }