Ejemplo n.º 1
0
        public void TestHbr()
        {
            var hbr = new Hbr
            {
                HeadNumber = 1,
                SiteNumber = 1,
            };

            TestRoundTripEquality(hbr);
            hbr.BinName = "Fred";
            TestRoundTripEquality(hbr);
        }
Ejemplo n.º 2
0
        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);
            }
        }