Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
        }