Exemple #1
0
 public static Prr GetMatchingPrr(this Pir pir)
 {
     return(pir.After()
            .OfExactType <Prr>()
            .Where(r => r.HeadNumber == pir.HeadNumber && r.SiteNumber == pir.SiteNumber)
            .FirstOrDefault());
 }
Exemple #2
0
 /// <summary>
 /// Gets the records associated with this pir
 /// </summary>
 /// <param name="pir">The <see cref="Pir"/> representing the part</param>
 /// <returns>The records associated with the part (between the <see cref="Pir"/>
 /// and <see cref="Prr"/> and sharing the same head/site information.</returns>
 public static IEnumerable <StdfRecord> GetChildRecords(this Pir pir)
 {
     return(pir.After()
            .OfType <IHeadSiteIndexable>()
            .Where(r => r.HeadNumber == pir.HeadNumber && r.SiteNumber == pir.SiteNumber)
            .TakeWhile(r => r.GetType() != typeof(Prr))
            .Cast <StdfRecord>());
 }
Exemple #3
0
        private void WritePir(byte siteNumber)
        {
            Pir pir = new Pir();

            pir.HEAD_NUM              = 1;
            pir.RecordHeader.REC_LEN += 1;
            pir.SITE_NUM              = siteNumber;
            pir.RecordHeader.REC_LEN += 1;
            sfw.WriteRecord(pir);
        }
Exemple #4
0
        public void TestPir()
        {
            var pir = new Pir();

            //we must skip head number since we persist the missing value 1
            TestRoundTripEquality(pir, skipProps: new[] { "HeadNumber" });
            pir.SiteNumber = 1;
            TestRoundTripEquality(pir, skipProps: new[] { "HeadNumber" });
            pir.HeadNumber = 1;
            TestRoundTripEquality(pir);
        }
        public IEnumerable <StdfRecord> GetChildRecords(Pir pir)
        {
            pir.StdfFile.GetRecordsEnumerable().Any();
            var partExtents = _PartsMap.GetExtents(pir);

            return(GetRecordsInExtents(partExtents)
                   .OfType <IHeadSiteIndexable>()
                   .Where(r => r.HeadNumber == pir.HeadNumber && r.SiteNumber == pir.SiteNumber)
                   .TakeWhile(r => r.GetType() != typeof(Prr))
                   .Cast <StdfRecord>());
        }
        public Prr GetMatchingPrr(Pir pir)
        {
            pir.StdfFile.GetRecordsEnumerable().Any();
            var partExtents = _PartsMap.GetExtents(pir);

            if (partExtents == null)
            {
                return(null);
            }
            return((from p in GetRecordsInExtentsReverse(partExtents)
                    .Select(p => p as Prr)
                    .TakeWhile(p => p != null)
                    where p.HeadNumber == pir.HeadNumber &&
                    p.SiteNumber == pir.SiteNumber
                    select p).FirstOrDefault());
        }