コード例 #1
0
        public Database(string filename)
        {
            _filename = filename;

            bool dbNeedsInitialization = !System.IO.File.Exists(filename);

            _connection = new SQLiteConnection(@"URI=file:" + filename);
            _connection.Open();
            _connection.EnableExtensions(true);
            _connection.LoadExtension("SQLite.Interop.dll", "sqlite3_fts5_init");

            using (var cmd = new SQLiteCommand(_connection))
            {
                cmd.CommandText = "PRAGMA foreign_keys = ON;";
                cmd.ExecuteNonQuery();
            }

            if (dbNeedsInitialization)
            {
                using (var cmd = new SQLiteCommand(_connection))
                {
                    cmd.CommandText = DbInitScript.InitScript;
                    cmd.ExecuteNonQuery();
                }

                Universe defaultUniverse = new Universe(_connection);
                defaultUniverse.Name        = "New Universe";
                defaultUniverse.MarkdownCss = DefaultMarkdownCss.DefaultCss;
                defaultUniverse.Create();

                Metadata md = new Metadata(_connection);
                md.DefaultUniverseId = defaultUniverse.id;
            }

            Metadata  = new Metadata(_connection);
            Universes = new SortBySortIndexBindingList <UniverseViewModel>();
            Instance  = this;
        }
コード例 #2
0
        public UniverseViewModel(Universe model, Database database)
        {
            Model    = model;
            Database = database;

            model.PropertyChanged += Model_PropertyChanged;

            Categories = new SortBySortIndexBindingList <CategoryViewModel>();
            Stories    = new BindingList <StoryViewModel>();
            SubItems   = new SortBySortIndexBindingList <IUniverseSubItem>();

            SearchViewModel = new SearchViewModel();
            SearchViewModel.SelectedUniverse = this;
            SpellcheckDictionary             = new SpellcheckDictionary(this);

            MarkdownTree = new MarkdownTree(this);
            MarkdownTree.Load();
            FileBrowserViewModel = new FileBrowserViewModel(this);
            FileBrowserViewModel.Load();

            TicketTrackerViewModel = new TicketTrackerViewModel(this);
            TicketTrackerViewModel.Load();
        }
コード例 #3
0
 public FileBrowserViewModel(UniverseViewModel universe)
 {
     UniverseVm = universe;
     Files      = new SortBySortIndexBindingList <FileBlobViewModel>();
 }
コード例 #4
0
 public StoryViewModel(Story model)
 {
     Model    = model;
     Chapters = new SortBySortIndexBindingList <ChapterViewModel>();
     Model.PropertyChanged += Model_PropertyChanged;
 }
コード例 #5
0
 public ChapterViewModel(Chapter model)
 {
     Model  = model;
     Scenes = new SortBySortIndexBindingList <SceneViewModel>();
     Model.PropertyChanged += Model_PropertyChanged;
 }
コード例 #6
0
 public CategoryViewModel(Category model)
 {
     Model   = model;
     Stories = new SortBySortIndexBindingList <StoryViewModel>();
     Model.PropertyChanged += Model_PropertyChanged;
 }