Пример #1
0
        internal static Range Create(ScriptureInfo scriptureInfo, Data.RawRange range, int offset, RepositoryMode mode)
        {
            Range result = new Range();

            result._scriptureInfo = scriptureInfo;
            result.Offset         = offset;

            result.Start = Verse.Create(scriptureInfo, range.FirstBook, range.FirstChapter, range.FirstVerse, range.FirstVerseSuffix, VersePosition.First, mode);
            result.End   = Verse.Create(scriptureInfo, range.SecondBook, range.SecondChapter, range.SecondVerse, range.SecondVerseSuffix, VersePosition.Last, mode);

            int firstChapterLimitsOffset = 1 - result.Start.VerseNumber;

            result._offsetChapterLimits =
                OffsetChapterLimits.Create(
                    firstChapterLimitsOffset,
                    scriptureInfo.ChapterLimits.Where(c => result.Start <= c && c <= result.End)
                    );

            result.Length =
                result._offsetChapterLimits.Select(c => c.ChapterLimits).Sum(c => c.EndVerseNumber)
                + firstChapterLimitsOffset
                - (result._offsetChapterLimits.Last().ChapterLimits.EndVerseNumber - result.End.VerseNumber);

            if (mode != RepositoryMode.Optimistic && (result.Start == null || result.End == null))
            {
                result = null;
            }

            return(result);
        }
Пример #2
0
        static void Main(string[] args)
        {
            ScriptureInfo.TryRegister("esv", @"e:\Users\Stephen\Desktop\SRP\trunk\Konves.Scripture\Data\esv.xml");

            var esv = ScriptureInfo.GetInstance("esv");

            Reference r;

            Reference.TryParse("bob 1:1-5,2:1-6; jas 5", esv, out r);

            var q =
                from v in r
                where v.BookNumber != 1
                select v;

            var x = r[6];

            int i = r.Length;

            //ScriptureInfo.TryRegister("esv", @"e:\Users\Stephen\Desktop\SRP\trunk\Konves.Scripture\Data\esv.xml");

            ////var x = ScriptureInfo.GetInstance("esv");


            ////var ww = ScriptureInfo.Deserialize(new System.IO.FileStream(@"e:\Users\Stephen\Desktop\SRP\trunk\Konves.Scripture\Data\esv.xml", System.IO.FileMode.Open));

            //Reference r = Reference.Parse("ex 4:1-2, jas 1","esv");

            //var s = string.Format("{0:b c.vs}", r.First());

            //// var s = r.First().ToString("b. c:vs", null);

            ////var f = r.FirstVerse;

            //var asdf = r.GetSubReferences();

            //int len = r.Length;

            //foreach (Verse verse in r)
            //{

            //    if (verse != null)
            //        Console.WriteLine(verse.ToString());
            //    else
            //        Console.WriteLine("ASDF");
            //}



            ////var x = vc[31];
        }
Пример #3
0
 public static void MyClassInitialize(TestContext testContext)
 {
     ScriptureInfo.TryRegister("esv", @"e:\Users\Stephen\Desktop\SRP\trunk\Konves.Scripture\Data\esv.xml");
     si = ScriptureInfo.GetInstance("esv");
 }