public CommentaryItemDialog(Book book, CommentaryItem item) : this() { this.Item = item; txtChapterBegin.Properties.MinValue = 1; txtChapterBegin.Properties.MaxValue = book.NumberOfChapters; txtChapterEnd.Properties.MinValue = 1; txtChapterEnd.Properties.MaxValue = book.NumberOfChapters; var chapter = new XPQuery <Chapter>(item.Session).Where(x => x.NumberOfBook == book.NumberOfBook && x.NumberOfChapter == item.ChapterBegin).FirstOrDefault(); txtVerseBegin.Properties.MinValue = 1; txtVerseEnd.Properties.MinValue = 1; if (chapter != null) { txtVerseBegin.Properties.MaxValue = chapter.NumberOfVerses; txtVerseEnd.Properties.MaxValue = chapter.NumberOfVerses; } txtChapterBegin.EditValue = item.ChapterBegin; txtChapterEnd.EditValue = item.ChapterEnd; txtVerseBegin.EditValue = item.VerseBegin; txtVerseEnd.EditValue = item.VerseEnd; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); lbl.Caption = Chapter == 0 ? $"Introduction to {Book.Title}" : $"{Book.Title} {Chapter}"; if (Chapter != 0) { LoadRanges(); } else { if (!Commentary.Items.Where(x => x.Book == Book.NumberOfBook && x.ChapterBegin == Chapter).Any()) { var item = new CommentaryItem(Commentary.Session) { Book = this.Book.NumberOfBook, ChapterBegin = 0, ChapterEnd = 0, VerseBegin = 0, VerseEnd = 0, Comments = String.Empty, ParentCommentary = Commentary }; item.Save(); Commentary.Save(); (Commentary.Session as UnitOfWork).CommitChanges(); } LoadRanges(); } }
public void AddCommentaryRange() { CommentaryItem item = null; var chapter = new XPQuery <Chapter>(Commentary.Session).Where(x => x.NumberOfBook == Book.NumberOfBook && x.NumberOfChapter == Chapter).FirstOrDefault(); var items = Commentary.Items.Where(x => x.Book == Book.NumberOfBook && x.ChapterBegin == Chapter); if (items.Count() == 0) { item = new CommentaryItem(Commentary.Session) { Book = Book.NumberOfBook, ChapterBegin = Chapter, ChapterEnd = Chapter, Comments = String.Empty, ParentCommentary = Commentary, VerseBegin = 1, VerseEnd = chapter.NumberOfVerses }; } else { var max = items.Max(x => x.VerseEnd); if (max + 1 <= chapter.NumberOfVerses) { max += 1; } item = new CommentaryItem(Commentary.Session) { Book = Book.NumberOfBook, ChapterBegin = Chapter, ChapterEnd = Chapter, Comments = String.Empty, ParentCommentary = Commentary, VerseBegin = max, VerseEnd = chapter.NumberOfVerses }; } using (var dlg = new CommentaryItemDialog(Book, item)) { if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { item.Save(); LoadRanges(true); } } }