private void EditVerse_Cliked(object sender, RoutedEventArgs e) { if (this.SelectedBookmark == null) { MessageDisplay.Show("Please select a Bookmark"); return; } try { ModelsBookmark bookmark = this.SelectedBookmark.CopyTo(new ModelsBookmark()); ModelView.OnItemBrowse += this.BookmarkModel_Browse; if (ModelView.ShowDialog(this.GetParentWindow(), true, "Bookmark", bookmark).IsFalse()) { return; } this.SelectedBookmark = bookmark.CopyTo(this.SelectedBookmark); StudyBookmarkModel dbModel = this.SelectedBookmark.CopyToObject(new StudyBookmarkModel()).To <StudyBookmarkModel>(); dbModel.StudyVerseKey = $"{this.StudyId}||{this.SelectedBookmark.VerseKey}"; BiblesData.Database.InsertStudyBookmarkModel(dbModel); } catch (Exception err) { ErrorLog.ShowError(err); } }
private static void Bookmark_Selected(object sender, MouseButtonEventArgs e) { try { Image item = (Image)sender; string verseKey = item.Tag.ParseToString(); BookmarkModel bookmarkModel = BiblesData.Database.GetBookmark(verseKey); ModelsBookmark model = bookmarkModel.CopyToObject(new ModelsBookmark()).To <ModelsBookmark>(); model.SetVerse(verseKey); if (ModelView.ShowDialog("Bookmark", model).IsFalse()) { return; } BookmarkModel dbModel = model.CopyToObject(new BookmarkModel()).To <BookmarkModel>(); BiblesData.Database.InsertBookmarkModel(dbModel); } catch (Exception err) { ErrorLog.ShowError(err); } }
private static Image GetVerseBookmarkImage(int bibleId, string verseKey) { string bibleKey = Formatters.IsBiblesKey(verseKey) ? verseKey : $"{bibleId}||{verseKey}"; BookmarkModel model = BiblesData.Database.GetBookmark(bibleKey); if (model == null) { return(null); } ModelsBookmark bookmark = model.CopyToObject(new ModelsBookmark()).To <ModelsBookmark>(); string imgToolTip = bookmark.BookMarkName.IsNullEmptyOrWhiteSpace() && bookmark.Description.IsNullEmptyOrWhiteSpace() ? bookmark.SelectedVerse : bookmark.BookMarkName.IsNullEmptyOrWhiteSpace() ? $"{bookmark.SelectedVerse}{Environment.NewLine}{bookmark.Description}" : $"{bookmark.SelectedVerse}{Environment.NewLine}{bookmark.BookMarkName}{Environment.NewLine}{Environment.NewLine}{bookmark.Description}"; Image img = new Image { Source = IconSets.ResourceImageSource("BookmarkSmall", 16), ToolTip = imgToolTip, Opacity = 0.5, Tag = bibleKey }; img.PreviewMouseLeftButtonUp += BibleLoader.Bookmark_Selected; return(img); }
private void BookmarkReader_Request(object sender, ModelsBookmark bookmark) { try { this.LoadReader(Formatters.GetBibleFromKey(bookmark.VerseKey), bookmark.VerseKey); } catch (Exception err) { ErrorLog.ShowError(err); } }
private void InitializeData() { List <BookmarkModel> bookmarkList = BiblesData.Database.GetBookmarks(); List <ModelsBookmark> result = new List <ModelsBookmark>(); foreach (BookmarkModel bookmark in bookmarkList) { ModelsBookmark resultModel = bookmark.CopyToObject(new ModelsBookmark()).To <ModelsBookmark>(); resultModel.SetVerse(bookmark.VerseKey); result.Add(resultModel); } this.Bookmarks = result.ToArray(); }
private void BookmarkModel_Browse(object sender, object model, string buttonKey) { try { ModelsBookmark bookmark = (ModelsBookmark)model; if (TextEditing.ShowDialog("Bookmark Description", bookmark.Description).IsFalse()) { return; } bookmark.Description = TextEditing.Text; } catch (Exception err) { ErrorLog.ShowError(err); } }
public void LoadBookmarks(int studyId) { this.StudyId = studyId; List <StudyBookmarkModel> studyBookmarks = BiblesData.Database.GetStudyBookmarks(studyId); List <ModelsBookmark> result = new List <ModelsBookmark>(); foreach (StudyBookmarkModel bookmark in studyBookmarks) { ModelsBookmark model = bookmark.CopyToObject(new ModelsBookmark()).To <ModelsBookmark>(); model.SetVerse(bookmark.VerseKey); result.Add(model); } this.Bookmarks = result.ToArray(); }
private void Bookmark_Cliked(object sender, RoutedEventArgs e) { try { int selectedVerse = Formatters.GetVerseFromKey(this.selectedKey); if (selectedVerse <= 0) { throw new ApplicationException("Please select a Verse."); } Dictionary <int, UserControlBase> openStudies = new Dictionary <int, UserControlBase>(); Dictionary <int, StudyHeader> studyHeaders = new Dictionary <int, StudyHeader>(); #region CHECK FOR OPEN STUDIES foreach (Window window in Application.Current.Windows) { if (window.GetType() != typeof(ControlWindow)) { continue; } UserControlBase controlBase = window.GetPropertyValue("ControlContent").To <UserControlBase>(); if (controlBase.GetType() != typeof(EditStudy)) { continue; } StudyHeader studyHeader = controlBase.GetPropertyValue("SubjectHeader").To <StudyHeader>(); if (studyHeader.StudyHeaderId <= 0) { string studyName = studyHeader.StudyName.IsNullEmptyOrWhiteSpace() ? "Unknown" : studyHeader.StudyName; string message = $"Study {studyName} have not been saved yet. This study will not be available for bookmarks."; MessageDisplay.Show(message); continue; } openStudies.Add(studyHeader.StudyHeaderId, controlBase); studyHeaders.Add(studyHeader.StudyHeaderId, studyHeader); } #endregion ModelsBookmark bookmark = new ModelsBookmark(); ModelView.OnItemBrowse += this.BookmarkModel_Browse; if (Formatters.IsBiblesKey(this.selectedKey)) { bookmark.SetVerse(this.selectedKey); } else { bookmark.SetVerse($"{this.Bible.BibleId}||{this.selectedKey}"); } if (studyHeaders.Count > 0) { #region STUDY BOOKMARKS StudyBookmarksModel studyMark = bookmark.CopyToObject(new StudyBookmarksModel()).To <StudyBookmarksModel>(); List <DataItemModel> studyOptions = new List <DataItemModel>(); studyOptions.Add(new DataItemModel { DisplayValue = $"<{this.Bible.BibleName}>", ItemKey = -1 }); foreach (KeyValuePair <int, StudyHeader> studyKey in studyHeaders) { studyOptions.Add(new DataItemModel { DisplayValue = studyKey.Value.StudyName, ItemKey = studyKey.Key }); } studyMark.AvailableStudies = studyOptions.ToArray(); if (ModelView.ShowDialog("Bookmark", studyMark).IsFalse()) { return; } if (studyMark.Study <= 0) { BookmarkModel dbModel = studyMark.CopyToObject(new BookmarkModel()).To <BookmarkModel>(); BiblesData.Database.InsertBookmarkModel(dbModel); } else { StudyBookmarkModel dbModel = studyMark.CopyToObject(new StudyBookmarkModel()).To <StudyBookmarkModel>(); dbModel.StudyName = studyMark.AvailableStudies.First(st => st.ItemKey.ToInt32() == studyMark.Study).DisplayValue; dbModel.StudyVerseKey = $"{studyMark.Study}||{dbModel.VerseKey}"; BiblesData.Database.InsertStudyBookmarkModel(dbModel); this.InvokeMethod(openStudies[studyMark.Study], "AddBookmark", new object[] { bookmark }); } #endregion } else { #region NORMAL BOOKMARKS if (ModelView.ShowDialog("Bookmark", bookmark).IsFalse()) { return; } BookmarkModel dbModel = bookmark.CopyToObject(new BookmarkModel()).To <BookmarkModel>(); BiblesData.Database.InsertBookmarkModel(dbModel); #endregion } BibleLoader.RefreshVerseNumberPanel ( this.loadedVerseStackDictionary[selectedVerse], this.Bible.BibleId, this.versesDictionary[selectedVerse] ); } catch (Exception err) { ErrorLog.ShowError(err); } finally { ModelView.OnItemBrowse -= this.BookmarkModel_Browse; } }
public void AddBookmark(ModelsBookmark bookmark) { this.uxStudyBookmarks.AddBookmark(bookmark); }
public void AddBookmark(ModelsBookmark bookmark) { this.Bookmarks = this.Bookmarks.Add(bookmark); }