public void TranslateInterlinearChapter() { ConnectionHelper.Connect(); var uow = new UnitOfWork(); var verses = new XPQuery <Model.Verse>(uow).Where(x => x.Index.StartsWith("NPI.500.2")); var dic = new XPQuery <Model.AncientDictionaryItem>(uow).ToList(); uow.BeginTransaction(); var c = new GreekTransliterationController(); foreach (var verse in verses) { foreach (var verseWord in verse.VerseWords) { if (verseWord.Translation.IsNullOrEmpty()) { var w = c.GetSourceWordWithoutBreathAndAccent(verseWord.SourceWord.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\""), out var isUpper); var item = dic.Where(x => x.Word == w.ToLower()).FirstOrDefault(); if (item.IsNotNull()) { verseWord.Translation = item.Translation; if (isUpper && verseWord.Translation.IsNotNullOrEmpty() && verseWord.Translation.Length > 1) { verseWord.Translation = verseWord.Translation.Substring(0, 1).ToUpper() + verseWord.Translation.Substring(1); } verseWord.Save(); } } } } uow.CommitChanges(); }
public VerseGridForm(Verse verse) { InitializeComponent(); this.Text = "Interlinear Bible Editor"; Uow = new UnitOfWork(); Translation = verse.ParentTranslation; NAME = Translation.Name; // $"{NAME.Replace("'", "").Replace("+", "")}."; LoadBooks(); //var view = new XPView(Uow, typeof(BookBase)) { // CriteriaString = $"[Status.BookType] = {(int)Translation.BookType}" //}; //view.Properties.Add(new ViewProperty("NumberOfBook", SortDirection.None, "[NumberOfBook]", false, true)); //view.Properties.Add(new ViewProperty("BookTitle", SortDirection.None, "[BookTitle]", false, true)); //var list = new List<BookBaseInfo>(); //foreach (ViewRecord item in view) { // list.Add(new BookBaseInfo() { // NumberOfBook = item["NumberOfBook"].ToInt(), // BookTitle = item["BookTitle"].ToString() // }); //} //editBook.DataSource = list; var index = verse.GetVerseIndex(); btnOblubienicaEu.Visibility = index.NumberOfBook >= 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; btnLogosSeptuagint.Visibility = index.NumberOfBook < 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; VerseControl = new VerseGridControl() { Dock = DockStyle.Fill }; pnlContent.Controls.Add(VerseControl); //this.Load += new EventHandler(delegate (object sender, EventArgs e) { // Application.DoEvents(); // var bookInfo = list.Where(x => x.NumberOfBook == index.NumberOfBook).FirstOrDefault(); // txtBook.EditValue = bookInfo; // editBook_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, bookInfo)); // Application.DoEvents(); // txtChapter.EditValue = index.NumberOfChapter; // editChapter_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfChapter)); // Application.DoEvents(); // txtVerse.EditValue = index.NumberOfVerse; // editVerse_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfVerse)); // Application.DoEvents(); //}); TransliterationController = new GreekTransliterationController(); txtIndex.EditValue = verse.Index; txtIndex_KeyUp(txtIndex, new KeyEventArgs(Keys.Enter)); }
public void TransliterationTest() { ConnectionHelper.Connect(); var uow = new UnitOfWork(); var controller = new GreekTransliterationController(); var sentence = controller.GetTransliterateSentence(new VerseIndex("NPI.10.1.2"), uow); Assert.IsTrue(sentence.TransliteritSentence != null); }
public InterlinearEditorForm(Verse verse) { InitializeComponent(); this.Text = "Interlinear Bible Editor"; Uow = new UnitOfWork(); Translation = verse.ParentTranslation;// new XPQuery<Translation>(Uow).Where(x => x.Name == verse.ParentTranslation.Name).FirstOrDefault(); NAME = Translation.Name; var view = new XPView(Uow, typeof(BookBase)); view.CriteriaString = $"[Status.BookType] = {(int)Translation.BookType}"; view.Properties.Add(new ViewProperty("NumberOfBook", SortDirection.None, "[NumberOfBook]", false, true)); view.Properties.Add(new ViewProperty("BookTitle", SortDirection.None, "[BookTitle]", false, true)); var list = new List <BookBaseInfo>(); foreach (ViewRecord item in view) { list.Add(new BookBaseInfo() { NumberOfBook = item["NumberOfBook"].ToInt(), BookTitle = item["BookTitle"].ToString() }); } var index = verse.GetVerseIndex(); btnOblubienicaEu.Visibility = index.NumberOfBook >= 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; btnLogosSeptuagint.Visibility = index.NumberOfBook < 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; editBook.DataSource = list; VerseControl = new VerseEditorControl() { Dock = DockStyle.Fill }; this.Controls.Add(VerseControl); this.Load += new EventHandler(delegate(object sender, EventArgs e) { Application.DoEvents(); var bookInfo = list.Where(x => x.NumberOfBook == index.NumberOfBook).FirstOrDefault(); txtBook.EditValue = bookInfo; editBook_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, bookInfo)); Application.DoEvents(); txtChapter.EditValue = index.NumberOfChapter; editChapter_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfChapter)); Application.DoEvents(); txtVerse.EditValue = index.NumberOfVerse; editVerse_EditValueChanged(this, new DevExpress.XtraEditors.Controls.ChangingEventArgs(null, index.NumberOfVerse)); Application.DoEvents(); }); TransliterationController = new GreekTransliterationController(); }
public void UpdateTransliteration() { ConnectionHelper.Connect(); var uow = new UnitOfWork(); uow.BeginTransaction(); var controller = new GreekTransliterationController(); var words = new XPQuery <VerseWord>(uow); foreach (var word in words) { controller.TransliterateWord(word); } uow.CommitChanges(); }
public void UpdateTransliterationChapter() { ConnectionHelper.Connect(); var uow = new UnitOfWork(); uow.BeginTransaction(); var controller = new GreekTransliterationController(); var verses = new XPQuery <Verse>(uow).Where(x => x.Index.StartsWith("NPI.10.1")); foreach (var verse in verses) { var words = verse.VerseWords; foreach (var word in words) { controller.TransliterateWord(word); } } uow.CommitChanges(); }
public VerseGridForm() { InitializeComponent(); this.Text = "Interlinear Bible Editor"; Uow = new UnitOfWork(); Translation = new XPQuery <Translation>(Uow).Where(x => x.Name == NAME).FirstOrDefault(); txtIndex.EditValue = "NPI."; LoadBooks(); /* * var view = new XPView(Uow, typeof(BookBase)) { * CriteriaString = "[Status.Oid] = 1 OR [Status.Oid] = 2" // tylko kanoniczne * }; * view.Properties.Add(new ViewProperty("NumberOfBook", SortDirection.None, "[NumberOfBook]", false, true)); * view.Properties.Add(new ViewProperty("BookTitle", SortDirection.None, "[BookTitle]", false, true)); * * var list = new List<BookBaseInfo>(); * foreach (ViewRecord item in view) { * list.Add(new BookBaseInfo() { * NumberOfBook = item["NumberOfBook"].ToInt(), * BookTitle = item["BookTitle"].ToString() * }); * } * * editBook.DataSource = list; */ VerseControl = new VerseGridControl() { Dock = DockStyle.Fill }; pnlContent.Controls.Add(VerseControl); TransliterationController = new GreekTransliterationController(); }
public VerseWordEditorControl(VerseWord word) : this() { Word = word; Word.Changed += Word_Changed; lblNumberOfVerseWord.DataBindings.Add("Text", word, "NumberOfVerseWord"); lblGreekWord.DataBindings.Add("Text", word, "SourceWord"); txtTranslation.DataBindings.Add("Text", word, "Translation"); lblTransliteration.DataBindings.Add("Text", word, "Transliteration"); cbCitation.DataBindings.Add("Checked", word, "Citation"); cbWordOfJesus.DataBindings.Add("Checked", word, "WordOfJesus"); txtFootnoteText.DataBindings.Add("Text", word, "FootnoteText"); if (word.GrammarCode.IsNotNull()) { lblGrammarCode.DataBindings.Add("Text", word.GrammarCode, "GrammarCodeVariant1"); } else { lblGrammarCode.BackColor = Color.DarkGray; } if (word.StrongCode.IsNotNull()) { lblStrong.DataBindings.Add("Text", word.StrongCode, "Code"); } else { lblStrong.BackColor = Color.DarkGray; } AddStrongToolTip(word.StrongCode); AddGrammarToolTip(word.GrammarCode); TransliterationController = new GreekTransliterationController(); }
public InterlinearEditorForm() { InitializeComponent(); this.Text = "Interlinear Bible Editor"; Uow = new UnitOfWork(); Translation = new XPQuery <Translation>(Uow).Where(x => x.Name == NAME).FirstOrDefault(); var view = new XPView(Uow, typeof(BookBase)); view.CriteriaString = "[Status.Oid] = 1 OR [Status.Oid] = 2"; // tylko kanoniczne view.Properties.Add(new ViewProperty("NumberOfBook", SortDirection.None, "[NumberOfBook]", false, true)); view.Properties.Add(new ViewProperty("BookTitle", SortDirection.None, "[BookTitle]", false, true)); var list = new List <BookBaseInfo>(); foreach (ViewRecord item in view) { list.Add(new BookBaseInfo() { NumberOfBook = item["NumberOfBook"].ToInt(), BookTitle = item["BookTitle"].ToString() }); } editBook.DataSource = list; VerseControl = new VerseEditorControl() { Dock = DockStyle.Fill }; this.Controls.Add(VerseControl); TransliterationController = new GreekTransliterationController(); }
public VerseGridControl() { InitializeComponent(); TransliterationController = new GreekTransliterationController(); txtDefinition.ReplaceService <ISyntaxHighlightService>(new HTMLSyntaxHighlightService(txtDefinition)); }
private void btnAutoTranslateChapter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (XtraMessageBox.Show("Do you want to auto-translate this chapter to Polish?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var verses = VerseControl.Verse.ParentChapter.Verses.OrderBy(x => x.NumberOfVerse).ToList(); var dic = new XPQuery <AncientDictionaryItem>(Uow).ToList(); Uow.BeginTransaction(); var c = new GreekTransliterationController(); foreach (var verse in verses) { foreach (var verseWord in verse.VerseWords) { var sourceWord = verseWord.SourceWord.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.Translation.IsNullOrEmpty()) { var exactItem = dic.Where(x => x.Word == sourceWord.ToLower()).FirstOrDefault(); if (exactItem.IsNotNull()) { var translation = String.Empty; var _isUpper = System.Char.IsUpper(sourceWord[0]); if (_isUpper && exactItem.Translation.IsNotNullOrEmpty() && exactItem.Translation.Length > 1) { translation = exactItem.Translation.Substring(0, 1).ToUpper() + exactItem.Translation.Substring(1).ToLower(); } else { translation = exactItem.Translation.ToLower(); } if (translation.IsNotNullOrEmpty()) { translation = translation.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.SourceWord.EndsWith(",")) { translation += ","; } if (verseWord.SourceWord.EndsWith(";")) { translation += ";"; } if (verseWord.SourceWord.EndsWith("·")) { translation += ":"; } if (verseWord.SourceWord.EndsWith(".")) { translation += "."; } verseWord.Translation = translation; verseWord.Save(); continue; } } var w = c.GetSourceWordWithoutBreathAndAccent(sourceWord, out var isUpper); var item = dic.Where(x => x.Word == w.ToLower()).FirstOrDefault(); if (item.IsNotNull()) { var translation = String.Empty; if (isUpper && item.Translation.IsNotNullOrEmpty() && item.Translation.Length > 1) { translation = item.Translation.Substring(0, 1).ToUpper() + item.Translation.Substring(1).ToLower(); } else { translation = item.Translation.ToLower(); } if (translation.IsNotNullOrEmpty()) { translation = translation.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.SourceWord.EndsWith(",")) { translation += ","; } if (verseWord.SourceWord.EndsWith(";")) { translation += ";"; } if (verseWord.SourceWord.EndsWith("·")) { translation += ":"; } if (verseWord.SourceWord.EndsWith(".")) { translation += "."; } verseWord.Translation = translation; verseWord.Save(); } } } } } VerseControl.Verse.ParentChapter.IsTranslated = true; Uow.CommitChanges(); VerseControl.LoadData(verses.First()); } }