public void TestHbr() { var hbr = new Hbr { HeadNumber = 1, SiteNumber = 1, }; TestRoundTripEquality(hbr); hbr.BinName = "Fred"; TestRoundTripEquality(hbr); }
private void WriteHbr(List <PartResult> list) { Hbr hbr; var groupBySite = list.GroupBy(x => x.SiteNumber); foreach (var colBySite in groupBySite) { List <PartResult> itemsBySite = colBySite.ToList <PartResult>(); var groupByBin = itemsBySite.GroupBy(x => x.HardBin); foreach (var colByBin in groupByBin) { List <PartResult> itemsByBin = colByBin.ToList <PartResult>(); hbr = new Hbr(); hbr.HEAD_NUM = 1; hbr.SITE_NUM = colBySite.Key; hbr.RecordHeader.REC_LEN += 1; hbr.HBIN_NUM = colByBin.Key.BinNum; hbr.RecordHeader.REC_LEN += 2; hbr.HBIN_CNT = (uint)itemsByBin.Count; hbr.RecordHeader.REC_LEN += 4; hbr.HBIN_PF = (char)colByBin.Key.BinPF; hbr.HBIN_NAM = colByBin.Key.BinName; hbr.RecordHeader.REC_LEN += (ushort)hbr.HBIN_NAM.Length; sfw.WriteRecord(hbr); } } var group = list.GroupBy(x => x.HardBin); foreach (var col in group) { List <PartResult> items = col.ToList <PartResult>(); hbr = new Hbr(); hbr.HEAD_NUM = 255; hbr.SITE_NUM = 0; hbr.RecordHeader.REC_LEN += 1; hbr.HBIN_NUM = col.Key.BinNum; hbr.RecordHeader.REC_LEN += 2; hbr.HBIN_CNT = (uint)items.Count; hbr.RecordHeader.REC_LEN += 4; hbr.HBIN_PF = (char)col.Key.BinPF; hbr.HBIN_NAM = col.Key.BinName; hbr.RecordHeader.REC_LEN += (ushort)hbr.HBIN_NAM.Length; sfw.WriteRecord(hbr); } }