Ejemplo n.º 1
0
        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));
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        //################# 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);
                        }
                    }
                }
            }
        }