private static void InitializeLibrary() { SetBooks(); if (Directory.Exists(_LibraryPath)) { string[] arrBook = Directory.GetDirectories(_LibraryPath); foreach (string sBook in arrBook) { var objvar = _objLibrary.LstBooks.Where(x => x.Abbrev == (new DirectoryInfo(sBook).Name)); MTBookModel objBook = objvar.First() as MTBookModel; string[] arrChap = Directory.GetFiles(sBook); foreach (string sChap in arrChap) { MTChapterModel objChapter = new MTChapterModel(Convert.ToInt32(System.IO.Path.GetFileNameWithoutExtension(sChap))); objBook.LstChapter.Add(objChapter); objChapter.Parent = objBook; TextReader tReader = new StreamReader(sChap); using (tReader) { string sText = tReader.ReadToEnd(); int i = 1; while (true) { string[] arrSplit = new string[1] { "$" + i.ToString() + "$" }; string[] arrVerses = sText.Split(arrSplit, StringSplitOptions.None); string sVers = ""; if (arrVerses.Count() == 1) { break; } if (arrVerses.Count() == 2) { sVers = arrVerses[0]; } else if (arrVerses.Count() == 3) { sVers = arrVerses[1]; } MTVerseModel objVerse = new MTVerseModel(i); objVerse.Text = sVers; objChapter.LstVerses.Add(objVerse); objVerse.Parent = objChapter; i++; } } //add back in chapters objChapter.LstVerses.Add(new MTBackModel(objChapter)); } //add back in chapters objBook.LstChapter.Add(new MTBackModel(objBook)); } } }
public static int GetPositionAdrees(List <MTMapModel> lstMap) { if (lstMap.Count == 0) { return(0); } if (lstMap[0] as MTVerseModel == null) { return(0); } int iResult = lstMap.Count; MTVerseModel objFirstVerse = lstMap[0] as MTVerseModel; iResult += objFirstVerse.Verse * 10; MTChapterModel objChapter = objFirstVerse.Parent as MTChapterModel; iResult += objChapter.Chapter * 10000; MTBookModel objBook = objChapter.Parent as MTBookModel; iResult += (_objLibrary.LstBooks.IndexOf(objBook) + 1) * 10000000; return(iResult); }
public static string GetAdrees(List <MTMapModel> lstMap, bool IsAbrevied) { if (lstMap == null || lstMap.Count == 0) { return(""); } if (lstMap.First() as MTBookModel != null) { MTBookModel objBook = lstMap.First() as MTBookModel; string sBookName = IsAbrevied ? objBook.Abbrev : objBook.Name; return(sBookName); } else if (lstMap.First() as MTChapterModel != null) { MTChapterModel objChapter = lstMap.First() as MTChapterModel; MTBookModel objBook = objChapter.Parent as MTBookModel; string sBookName = IsAbrevied ? objBook.Abbrev : objBook.Name; return(sBookName + " " + objChapter.Label); } else if (lstMap.First() as MTVerseModel != null) { MTVerseModel objVerse = lstMap.First() as MTVerseModel; MTChapterModel objChapter = objVerse.Parent as MTChapterModel; MTBookModel objBook = objChapter.Parent as MTBookModel; string sBookName = IsAbrevied ? objBook.Abbrev : objBook.Name; string sReturn = sBookName + " " + objChapter.Label + ":"; List <MTVerseModel> lstMTVers = new List <MTVerseModel>(); foreach (MTMapModel objMap in lstMap) { lstMTVers.Add(objMap as MTVerseModel); } sReturn += GetAdreesVerses(lstMTVers); return(sReturn); } return(null); }
//################# Obsolet ###################### private void btBuild_Click(object sender, RoutedEventArgs e) { string sName = tbName.Text; string sAbbrev = tbAbbr.Text; TextRange allTextRange = new TextRange(rtData.Document.ContentStart, rtData.Document.ContentEnd); string sData = allTextRange.Text; List <int> lstChapter = new List <int>(); List <string> lstText = new List <string>(); int iPos = 0; double dCurrNumb = 0; double dOldNumb = 0; int iLastPos = 0; while (iPos < sData.Length) { int iLenghtPos = 1; double dCheck; if (double.TryParse(sData.Substring(iPos, 1), out dCheck)) { while (double.TryParse(sData.Substring(iPos, iLenghtPos), out dCheck)) { dCurrNumb = dCheck; iLenghtPos++; } iLenghtPos--; if (dOldNumb == 0) { dOldNumb = dCurrNumb; } else { string sText = sData.Substring(iLastPos, (iPos - iLastPos)); lstChapter.Add(Convert.ToInt32(dOldNumb)); lstText.Add(sText); iLastPos = iPos + iLenghtPos; dOldNumb = dCurrNumb; } } iPos += iLenghtPos; if (iPos == sData.Length) { string sText = sData.Substring(iLastPos); lstChapter.Add(Convert.ToInt32(dCurrNumb)); lstText.Add(sText); } } List <MTChapterModel> lstChapters = new List <MTChapterModel>(); int iChapter = 1; for (int i = 0; i < lstChapter.Count(); i++) { MTVerseModel objVerse = new MTVerseModel(lstChapter[i]); objVerse.Text = lstText[i]; if (i == 0) { lstChapters.Add(new MTChapterModel(iChapter++)); objVerse.Text = lstText[i].Substring(1); } //if (i < lstChapter.Count && lstChapter[i] == 2) //{ // if (lstChapter[i + 1] == 2) // { // lstChapters.Add(new MTChapterModel(lstChapter[iChapter++])); // objVerse.Verse = 1; // } //} else if (i < (lstChapter.Count - 1) && lstChapter[i + 1] == 2) { if (lstChapter[i + 2] != 2) { lstChapters.Add(new MTChapterModel(iChapter++)); objVerse.Verse = 1; } } lstChapters.Last().LstVerses.Add(objVerse); } string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; string DataPath = System.IO.Path.GetDirectoryName(appPath) + "\\Library\\" + sAbbrev; if (!Directory.Exists(DataPath)) { Directory.CreateDirectory(DataPath); } foreach (MTChapterModel objChap in lstChapters) { string sChapterPath = DataPath + "\\" + objChap.Label; if (!Directory.Exists(sChapterPath)) { Directory.CreateDirectory(sChapterPath); } foreach (MTVerseModel objVerse in objChap.LstVerses) { string sVersePath = sChapterPath + "\\" + objVerse.Label + ".txt"; if (File.Exists(sVersePath)) { using (System.IO.StreamWriter file = new System.IO.StreamWriter(sVersePath, false)) { file.Write(objVerse.Text); } } else { using (System.IO.StreamWriter file = new System.IO.StreamWriter(sVersePath)) { file.Write(objVerse.Text); } } } } }