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; }
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(); }
public FileBrowserViewModel(UniverseViewModel universe) { UniverseVm = universe; Files = new SortBySortIndexBindingList <FileBlobViewModel>(); }
public StoryViewModel(Story model) { Model = model; Chapters = new SortBySortIndexBindingList <ChapterViewModel>(); Model.PropertyChanged += Model_PropertyChanged; }
public ChapterViewModel(Chapter model) { Model = model; Scenes = new SortBySortIndexBindingList <SceneViewModel>(); Model.PropertyChanged += Model_PropertyChanged; }
public CategoryViewModel(Category model) { Model = model; Stories = new SortBySortIndexBindingList <StoryViewModel>(); Model.PropertyChanged += Model_PropertyChanged; }