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

            if (chapter.Type == IbeTreeItemType.Chapter)
            {
                var response = XtraInputBox.Show("Type verse count:", "Add verses", "1", MessageBoxButtons.OKCancel);
                if (response.IsNotNullOrEmpty())
                {
                    for (int i = 1; i < response.ToInt() + 1; i++)
                    {
                        var item = new IbeVerseTreeItem()
                        {
                            Text             = i.ToString(),
                            ParentID         = chapter.ID,
                            ID               = $"{Guid.NewGuid()}",
                            IsNew            = true,
                            Tag              = -1,
                            Value            = String.Empty,
                            Number           = i,
                            StartFromNewLine = false
                        };
                        TreeItems.Add(item);
                    }

                    (chapter as IbeChapterTreeItem).NumberOfVerses += response.ToInt();
                    txtChapterNumberOfVerses.Text = (chapter as IbeChapterTreeItem).NumberOfVerses.ToString();
                    chapter.Changed = true;

                    treeList.RefreshDataSource();
                    treeList.FocusedNode.Expand();
                }
            }
        }
Exemple #2
0
        private void LoadVerse(IbeVerseTreeItem e)
        {
            if (e.IsNotNull())
            {
                btnAddBook.Enabled    = false;
                btnAddChapter.Enabled = false;
                btnAddVerse.Enabled   = false;
                btnAddVerses.Enabled  = false;
                btnDeleteBook.Enabled = false;

                if (Object.Type == TranslationType.Interlinear && !e.IsNew)
                {
                    var v = new XPQuery <Verse>(Object.Session).Where(x => x.Oid == e.Tag.ToInt()).FirstOrDefault();
                    //var frm = new InterlinearEditorForm(v);
                    var frm = new VerseGridForm(v)
                    {
                        MdiParent = this.MdiParent
                    };
                    frm.Show();
                }
                else
                {
                    tabs.SelectedTabPage = tabVerse;
                    tabs.Visible         = true;

                    txtNumberOfVerse.Text      = e.Number.ToString();
                    cbStartFromNewLine.Checked = e.StartFromNewLine;
                    txtSubtitleLevel1.Text     = e.SubtitleLevel1;
                    txtSubtitleLevel2.Text     = e.SubtitleLevel2;
                    editor.Text = e.Value;
                }
                tabVerse.Tag = e;
            }
        }
Exemple #3
0
        private void btnAddVerse_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var chapter = treeList.GetDataRecordByNode(treeList.FocusedNode) as IbeTreeItem;

            if (chapter.Type == IbeTreeItemType.Chapter)
            {
                var response = XtraInputBox.Show("Type verse number (arabic):", "Add verse", "", MessageBoxButtons.OKCancel);
                if (response.IsNotNullOrEmpty())
                {
                    var item = new IbeVerseTreeItem()
                    {
                        Text             = response,
                        ParentID         = chapter.ID,
                        ID               = $"{Guid.NewGuid()}",
                        IsNew            = true,
                        Tag              = -1,
                        Value            = String.Empty,
                        Number           = response.ToInt(),
                        StartFromNewLine = false
                    };
                    TreeItems.Add(item);
                    treeList.RefreshDataSource();

                    treeList.FocusedNode.Expand();
                    treeList.FocusedNode = treeList.FindNodeByKeyID(item.ID);
                }
            }
        }
Exemple #4
0
        private void SetSubtitle(Verse verse, IbeVerseTreeItem verseItem, UnitOfWork uow, int level = 1)
        {
            var subtitleText = level == 1 ? verseItem.SubtitleLevel1 : verseItem.SubtitleLevel2;

            if (subtitleText.IsNotNullOrEmpty())
            {
                var subtitle = verse.ParentChapter.Subtitles.Where(x => x.BeforeVerseNumber == verse.NumberOfVerse && x.Level == level).FirstOrDefault();
                if (subtitle.IsNotNull())
                {
                    subtitle.BeforeVerseNumber = verse.NumberOfVerse;
                    subtitle.ParentChapter     = verse.ParentChapter;
                    subtitle.Level             = level;
                    subtitle.Text = subtitleText;
                }
                else
                {
                    subtitle = new Subtitle(uow)
                    {
                        BeforeVerseNumber = verse.NumberOfVerse,
                        ParentChapter     = verse.ParentChapter,
                        Level             = level,
                        Text = subtitleText
                    };
                }
                subtitle.Save();
            }
            else
            {
                // delete subtitle if exists
                var subtitle = verse.ParentChapter.Subtitles.Where(x => x.BeforeVerseNumber == verse.NumberOfVerse && x.Level == level).FirstOrDefault();
                if (subtitle.IsNotNull())
                {
                    subtitle.Delete();
                }
            }
        }
Exemple #5
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);
            }
        }