예제 #1
0
        public void Use3DitiBoxes()
        {
            var           layout        = CreateDitiLayout();
            DitiInfo      ditiInfo      = new DitiInfo();
            TipManagement tipManagement = new TipManagement(layout);

            try
            {
                for (int i = 0; i < 96 * 3; i++)
                {
                    tipManagement.GetTip(DitiType.OneK, 1);
                }
                try
                {
                    tipManagement.GetTip(DitiType.OneK, 1);
                }
                catch (NoEngouhDitiException ex)
                {
                    layout.DitiInfo.DitiBoxInfos[0].count = 96;
                    tipManagement.GetTip(DitiType.OneK, 1);
                    Assert.AreEqual(layout.DitiInfo.DitiBoxInfos[0].count, 95);
                    Assert.AreEqual(tipManagement.GetCurrentDitiBox(DitiType.OneK).Label, "diti1");
                    return;
                }
            }
            catch (NoEngouhDitiException ex)
            {
                Assert.AreEqual(ex.LabwareTrait.Label, "diti2");
                Assert.AreEqual(tipManagement.GetCurrentDitiBox(DitiType.OneK), "diti2");
                return;
            }

            Assert.Fail();
        }
예제 #2
0
        private void SetAsCurrentDiti_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            LayoutEditor layoutEditor = GetLayoutEditor();

            if (layoutEditor == null)
            {
                AddErrorInfo("找不到布局!");
                return;
            }
            Layout   layout   = layoutEditor.Layout;
            DitiInfo ditiInfo = layout.DitiInfo;
            Labware  labware  = e.Parameter as Labware;
            var      ditiType = DitiBox.Parse(labware.TypeName);

            if (ditiInfo.DitiBoxInfos.Find(x => x.type == ditiType) != null)
            {
                ditiInfo.DitiBoxInfos.Add(new DitiBoxInfo(ditiType, labware.Label, 96));
            }
            else
            {
                ditiInfo.SetUsingDitiBox(ditiType, labware.Label);
            }
            this.InvalidateVisual();
        }