public Bible GetBible(BibleConstants.BibleVersions bibleVersion = BibleConstants.BibleVersions.Msg, string bibleFullName = "The Message Bible")
        {
            var selectedBible = SessionBible?.Find(x => x.ShortName.Equals(bibleVersion.ToString(), StringComparison.CurrentCultureIgnoreCase));

            if (selectedBible != null)
            {
                return(selectedBible);
            }

            var bibleFilepath = HostingEnvironment.MapPath($"~/App_Data/Books/{bibleVersion}.json");

            var bibleStreamToString = File.ReadAllText(bibleFilepath);

            selectedBible = BibleParser(bibleStreamToString);

            if (SessionBible != null)
            {
                SessionBible.Add(selectedBible);
            }
            else
            {
                SessionBible = new List <Bible> {
                    selectedBible
                };
            }

            return(selectedBible);
        }
        public Bible BibleParser(string theEntireBibleJsonString, string bibleName = "Unknown", string shortName = "Unknown", BibleConstants.BibleVersions bibleVersion = BibleConstants.BibleVersions.Tmsg)
        {
            var tempBible = new Bible {
                Books = new List <Book>(), Name = bibleName, ShortName = shortName, Version = bibleVersion.ToString()
            };

            //All books after reading from File
            var bibleBooks = JsonConvert.DeserializeObject <Bible>(theEntireBibleJsonString);

            //Each Book in the Bible
            tempBible.Books = bibleBooks.Books.OrderBy(x => x.Id).ToList();

            return(tempBible);
        }