public static bool AddRecentHtmlSnippetIfNotDuplicate(Models.RecentHtmlSnippet snippet) { bool didAdd = false; var existingEntry = db.Query(@" select * from HtmlSnippets where LOWER(baseFilePath) = :base AND LOWER(FilePath) = :path ", new Dictionary <string, object> { { ":base", snippet.BaseFilePath.ToLower() }, { ":path", snippet.FilePath.ToLower() } }); if (!existingEntry.Any()) { db.Command(@" insert into HtmlSnippets(baseFilePath, filePath, FileName) values(:base,:path,:name) ", new Dictionary <string, object> { { ":base", snippet.BaseFilePath }, { ":path", snippet.FilePath }, { ":name", snippet.FileName } }); didAdd = true; } return(didAdd); }
private void AddRecentHtmlSnippetSnippetToModel(Models.RecentHtmlSnippet snippet) { var model = this.DataContext as EditSnippetOptionsWindowModel; // setup events if any snippet.OnOpen += (_s, _args) => { model.ExternalHtmlTemplatePath = snippet.FilePath; saveExternalHtmlSetting(); }; model.RecentSnippets.Add(snippet); }
private async Task handleAddingRecentSnippetToModel() { var model = this.DataContext as EditSnippetOptionsWindowModel; var s = new Models.RecentHtmlSnippet { BaseFilePath = this.DocumentControl.SaveFilePath, FilePath = model.ExternalHtmlTemplatePath, FileName = System.IO.Path.GetFileName(model.ExternalHtmlTemplatePath) }; if (await addRecentHtmlSnippet(s) > 0) { AddRecentHtmlSnippetSnippetToModel(s); } }
private Task <int> addRecentHtmlSnippet(Models.RecentHtmlSnippet s) { var p = new TaskCompletionSource <int>(); var t = new Thread(() => { if (Utilities.DBManager.AddRecentHtmlSnippetIfNotDuplicate(s)) { p.SetResult(1); } else { p.SetResult(-1); } }); t.Start(); return(p.Task); }