public static void MountThis(BasewareUIElement baseUIElement, Point position, Grid container, Layout workingLayout) { bool bValid = IsValid(baseUIElement, position, container); if (!bValid) { if (baseUIElement is LabwareUIElement) //if labware has parent, let it go back { LabwareUIElement labwareUIElement = (LabwareUIElement)baseUIElement; if (labwareUIElement.Labware.ParentCarrier != null) { return; } } container.Children.Remove(baseUIElement); if (baseUIElement is CarrierUIElement) { RemoveUIElementsOnCarrier(container, baseUIElement as CarrierUIElement); } baseUIElement = null; return; } int grid = VisualCommon.FindCorrespondingGrid(position.X); if (baseUIElement is CarrierUIElement) { CarrierUIElement carrierUIElement = (CarrierUIElement)baseUIElement; carrierUIElement.Grid = grid; } if (baseUIElement is LabwareUIElement) { LabwareUIElement labwareUIElement = (LabwareUIElement)baseUIElement; Labware labware = labwareUIElement.Labware; CarrierUIElement carrierUIElement = null; int siteID = -1; bool bFound = FindSuitableCarrier(position, labware.TypeName, container, ref carrierUIElement, ref siteID); if (bFound) { if (labware.ParentCarrier != null) { labware.ParentCarrier.Labwares.Remove(labware); } labware.SiteID = siteID; if (labware.IsDitiBox) { var ditiInfo = workingLayout.DitiInfo.DitiBoxInfos.Find(x => x.label == labware.Label); if (ditiInfo == null) { DitiType ditiType = DitiBox.Parse(labware.TypeName); workingLayout.DitiInfo.DitiBoxInfos.Add(new DitiBoxInfo(ditiType, labware.Label, 96)); } } } carrierUIElement.Carrier.AddLabware(labware); } }
public StepDefinition(string[] strs, int no) { LineNumber = no; Volume = 0; //DeadVolume = 0; Description = strs[(int)StepDefCol.Description]; //RepeatTimes = lines[(int)StepDefCol.RepeatTimes]; string sVolume = strs[(int)StepDefCol.Volume]; if (sVolume == "") { return; } Volume = int.Parse(sVolume); //string sDeadVolume = lines[(int)StepDefCol.DeadVolume]; //DeadVolume = int.Parse(sDeadVolume); SourceLabware = strs[(int)StepDefCol.SourceLabware]; DestLabware = strs[(int)StepDefCol.DestLabware]; //TipType = lines[(int)StepDefCol.TipType]; LiquidClass = strs[(int)StepDefCol.LiquidClass]; DitiType = DitiBox.Parse(strs[(int)StepDefCol.DitiType]); }
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(); }