public static Prr GetMatchingPrr(this Pir pir) { return(pir.After() .OfExactType <Prr>() .Where(r => r.HeadNumber == pir.HeadNumber && r.SiteNumber == pir.SiteNumber) .FirstOrDefault()); }
/// <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>()); }
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); }
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()); }