Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
        }
Example #4
0
 private void BookmarkReader_Request(object sender, ModelsBookmark bookmark)
 {
     try
     {
         this.LoadReader(Formatters.GetBibleFromKey(bookmark.VerseKey), bookmark.VerseKey);
     }
     catch (Exception err)
     {
         ErrorLog.ShowError(err);
     }
 }
Example #5
0
        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);
            }
        }
Example #7
0
        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;
            }
        }
Example #9
0
 public void AddBookmark(ModelsBookmark bookmark)
 {
     this.uxStudyBookmarks.AddBookmark(bookmark);
 }
Example #10
0
 public void AddBookmark(ModelsBookmark bookmark)
 {
     this.Bookmarks = this.Bookmarks.Add(bookmark);
 }