Beispiel #1
0
        private void Scaner_DataReceived(AbstractScaner scaner, T_BJ_SampleRack sampleRack)
        {
            byte?curIndex = null;

            for (byte i = 0; i < 3; i++)
            {
                if (scanerVals[i] == null)
                {
                    scanerVals[i] = scaner.Read();
                    curIndex      = i;
                    break;
                }
            }
            if (curIndex == 2)
            {
                byte i1, i2;
                if (scanerVals[1].Length > 2 && scanerVals[0].Length <= 2 && scanerVals[2].Length <= 2 && byte.TryParse(scanerVals[0], out i1) && byte.TryParse(scanerVals[2], out i2))
                {
                    if (Math.Abs(i1 - i2) == 1)
                    {
                        var w      = (byte)(Math.Min(i1, i2) - 1);
                        var sample = Samples.Where(sam => sam.RackIndex == sampleRack.Index && sam.Index == w).FirstOrDefault();
                        if (sample == null)
                        {
                            sample = new SampleInfo()
                            {
                                RackIndex = sampleRack.Index, Index = w
                            };
                            Samples.Add(sample);
                        }
                        sample.Barcode = scanerVals[1];
                        var list = Samples.OrderBy(item => item.RackIndex.ToString() + item.Index.ToString("00")).ToArray();
                        Samples.Clear();
                        Samples.AddRange(list);
                    }
                    scanerVals[0] = scanerVals[2];
                    scanerVals[1] = null;
                    scanerVals[2] = null;
                }
                else
                {
                    scanerVals[0] = scanerVals[1];
                    scanerVals[1] = scanerVals[2];
                    scanerVals[2] = null;
                }
            }
        }
Beispiel #2
0
        private void Scaner_DataReceived(AbstractScaner scaner, T_BJ_SampleRack sampleRack)
        {
            byte?curIndex = null;

            for (byte i = 0; i < 3; i++)
            {
                if (scanerVals[i] == null)
                {
                    scanerVals[i] = scaner.Read();
                    curIndex      = i;
                    break;
                }
            }
            if (curIndex == 2)
            {
                byte i1, i2;
                if (scanerVals[1].Length > 2 && scanerVals[0].Length <= 2 && scanerVals[2].Length <= 2 && byte.TryParse(scanerVals[0], out i1) && byte.TryParse(scanerVals[2], out i2))
                {
                    if (Math.Abs(i1 - i2) == 1)
                    {
                        var w = (byte)(Math.Min(i1, i2) - 1);
                        if (Samples.Where(sam => sam.Index == w).FirstOrDefault() == null)
                        {
                            Samples.Add(new SampleInfo()
                            {
                                Index = w
                            });
                        }
                        var sample = Samples.Where(sam => sam.Index == w).FirstOrDefault();
                        sample.SetBarcode(sampleRack.Index, scanerVals[1]);
                    }
                    scanerVals[0] = scanerVals[2];
                    scanerVals[1] = null;
                    scanerVals[2] = null;
                }
                else
                {
                    scanerVals[0] = scanerVals[1];
                    scanerVals[1] = scanerVals[2];
                    scanerVals[2] = null;
                }
            }
        }
Beispiel #3
0
 private void GelScaner_DataReceived(AbstractScaner scaner, T_BJ_SampleRack sampleRack)
 {
     CurrentGelBarcode = scaner.Read();
 }