Example #1
0
        private void btnAddChapters_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var book = treeList.GetDataRecordByNode(treeList.FocusedNode) as IbeTreeItem;

            if (book.Type == IbeTreeItemType.Book)
            {
                var response = XtraInputBox.Show("Type chapters count:", "Add chapters", "", MessageBoxButtons.OKCancel);
                if (response.IsNotNullOrEmpty())
                {
                    for (int i = 1; i < response.ToInt() + 1; i++)
                    {
                        var item = new IbeChapterTreeItem()
                        {
                            Text     = i.ToString(),
                            ParentID = book.ID,
                            ID       = $"{Guid.NewGuid()}",
                            IsNew    = true,
                            Tag      = -1,
                            Number   = i,
                        };
                        TreeItems.Add(item);
                    }

                    treeList.RefreshDataSource();
                    treeList.FocusedNode.Expand();
                }
            }
        }
Example #2
0
        private void btnAddChapter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var book = treeList.GetDataRecordByNode(treeList.FocusedNode) as IbeTreeItem;

            if (book.Type == IbeTreeItemType.Book)
            {
                var response = XtraInputBox.Show("Type chapter number (arabic):", "Add chapter", "", MessageBoxButtons.OKCancel);
                if (response.IsNotNullOrEmpty())
                {
                    var item = new IbeChapterTreeItem()
                    {
                        Text     = response,
                        ParentID = book.ID,
                        ID       = $"{Guid.NewGuid()}",
                        IsNew    = true,
                        Tag      = -1,
                        Number   = response.ToInt(),
                    };
                    TreeItems.Add(item);
                    treeList.RefreshDataSource();

                    treeList.FocusedNode.Expand();
                    treeList.FocusedNode = treeList.FindNodeByKeyID(item.ID);
                }
            }
        }
Example #3
0
        private void LoadChapter(IbeChapterTreeItem e)
        {
            if (e.IsNotNull())
            {
                btnAddBook.Enabled    = false;
                btnAddChapter.Enabled = false;
                btnAddVerse.Enabled   = true;
                btnAddVerses.Enabled  = true;
                btnDeleteBook.Enabled = false;

                tabs.SelectedTabPage = tabChapter;
                tabs.Visible         = true;

                txtNumberOfChapter.Text       = e.Number.ToString();
                txtChapterNumberOfVerses.Text = e.NumberOfVerses.ToString();
                cbChapterIsTranslated.Checked = e.IsTranslated;
                tabChapter.Tag = e;
            }
        }
Example #4
0
        private void LoadTree()
        {
            if (Object.IsNotNull())
            {
                BaseBooks = new List <IbeBaseBookItem>();
                foreach (var bb in new XPQuery <BookBase>(Object.Session).OrderBy(x => x.NumberOfBook))
                {
                    BaseBooks.Add(new IbeBaseBookItem()
                    {
                        Id   = bb.Oid,
                        Text = bb.BookTitle
                    });
                }
                txtBaseBook.Properties.DataSource = BaseBooks;

                TreeItems = new List <IbeTreeItem>();
                var root = new IbeRootTreeItem()
                {
                    ID       = $"Translation_{Object.Oid}",
                    ParentID = null,
                    Text     = Object.Name.IsNotNullOrEmpty() ? Object.Name : "Root",
                    Tag      = Object.Oid
                };
                TreeItems.Add(root);

                foreach (var item in Object.Books.OrderBy(x => x.NumberOfBook))
                {
                    var _bb  = BaseBooks.Where(x => x.Id == item.BaseBook.Oid).FirstOrDefault();
                    var book = new IbeBookTreeItem()
                    {
                        ID                       = $"Book_{item.Oid}",
                        ParentID                 = root.ID,
                        Number                   = item.NumberOfBook,
                        Text                     = item.BookName,
                        Tag                      = item.Oid,
                        AuthorName               = item.AuthorName,
                        BaseBook                 = _bb,
                        BookName                 = item.BookName,
                        BookShortcut             = item.BookShortcut,
                        BookTitle                = _bb.Text,
                        Color                    = item.Color,
                        IsNew                    = false,
                        IsTranslated             = item.IsTranslated,
                        Changed                  = false,
                        PlaceWhereBookWasWritten = item.PlaceWhereBookWasWritten,
                        Preface                  = item.Preface,
                        Purpose                  = item.Purpose,
                        Subject                  = item.Subject,
                        TimeOfWriting            = item.TimeOfWriting,
                        NumberOfChapters         = item.NumberOfChapters
                    };

                    foreach (var _item in item.Chapters.OrderBy(x => x.NumberOfChapter))
                    {
                        var chapter = new IbeChapterTreeItem()
                        {
                            ID             = $"Chapter{ _item.Oid}",
                            ParentID       = book.ID,
                            Number         = _item.NumberOfChapter,
                            Text           = _item.NumberOfChapter.ToString(),
                            Tag            = _item.Oid,
                            IsNew          = false,
                            Changed        = false,
                            IsTranslated   = _item.IsTranslated,
                            NumberOfVerses = _item.NumberOfVerses
                        };

                        foreach (var __item in _item.Verses.OrderBy(x => x.NumberOfVerse))
                        {
#if DEBUG
                            //if (item.NumberOfBook == 470 && _item.NumberOfChapter == 1 && __item.NumberOfVerse == 18)
                            //    {

                            //}
#endif

                            var subtitles = _item.Subtitles.ToList();
                            var subtitle1 = subtitles.Where(x => x.BeforeVerseNumber == __item.NumberOfVerse && x.Level == 1).FirstOrDefault();
                            var subtitle2 = subtitles.Where(x => x.BeforeVerseNumber == __item.NumberOfVerse && x.Level == 2).FirstOrDefault();

                            var len    = __item.Text.IsNotNullOrEmpty() ? __item.Text.Length : 0;
                            var __text = __item.Text;
                            if (len > 40)
                            {
                                __text = __text.Substring(0, 40) + "...";
                            }
                            __text = $"{__item.NumberOfVerse}. {__text}";
                            var verse = new IbeVerseTreeItem()
                            {
                                ID               = $"Verse_{__item.Oid}",
                                ParentID         = chapter.ID,
                                Text             = __text,
                                Tag              = __item.Oid,
                                Value            = __item.Text,
                                Number           = __item.NumberOfVerse,
                                StartFromNewLine = __item.StartFromNewLine,
                                SubtitleLevel1   = subtitle1.IsNotNull() ? subtitle1.Text : String.Empty,
                                SubtitleLevel2   = subtitle2.IsNotNull() ? subtitle2.Text : String.Empty,
                                IsNew            = false,
                                Changed          = false
                            };

                            TreeItems.Add(verse);
                        }

                        TreeItems.Add(chapter);
                    }

                    TreeItems.Add(book);
                }

                treeList.DataSource = TreeItems;

                treeList.ExpandToLevel(0);
            }
        }