private void DoButtonVialClick(ViewModel_Vial selected) { //TODO - If a vial is selected and the process starts, the contents of this window will not be updated! TextBlock_VialInfo.Text = string.Format("Vial ID{0} from {1} rack.\nContents = {2}mg of {3}", selected.ID, selected.Position == Model_Vial.VialPurpose.INPUT ? "Input" : "Output", selected.Weight, selected.State == Model_Vial.VialState.COARSE ? "Coarse" : (selected.State == Model_Vial.VialState.FINE ? "Ground" : "Empty")); }
private void Button_Vial_Click(object sender, RoutedEventArgs e) { ViewModel_Vial selected = (ViewModel_Vial)((sender as FrameworkElement).DataContext); DoButtonVialClick(selected); }
private void GenerateRacks() { #region Input Rack List <List <ViewModel_Vial> > InputVials = new List <List <ViewModel_Vial> >(); uint ColCount = 20; // Nominal uint RowCount = _VM.SimulationParameters.InputRackCapacity / ColCount; uint Rem = _VM.SimulationParameters.InputRackCapacity % ColCount; int i = 0; for (i = 0; i < RowCount; i++) { InputVials.Add(new List <ViewModel_Vial>()); for (int j = 0; j < ColCount; j++) { ViewModel_Vial vial = new ViewModel_Vial((uint)((i * (ColCount)) + j), Model_Vial.VialState.COARSE, Model_Vial.VialPurpose.INPUT); InputVials[i].Add(vial); } } InputVials.Add(new List <ViewModel_Vial>()); for (int k = 0; k < Rem; k++) { ViewModel_Vial vial = new ViewModel_Vial((uint)((i * (ColCount)) + k), Model_Vial.VialState.COARSE, Model_Vial.VialPurpose.INPUT); InputVials[i].Add(vial); } _VM.InputRack = new ViewModel_Rack(InputVials, _VM.SimulationParameters.TargetOutputVialWeight_mg * _VM.SimulationParameters.OutputDivisionFactor, Model_Rack.RackPurpose.INPUT, _VM.SimulationParameters.InputRackCapacity, RowCount, ColCount); RackTemplate_Input.ItemsSource = _VM.InputRack.Vials; #endregion #region Output Racks List <List <ViewModel_Vial> > OutputVials = new List <List <ViewModel_Vial> >(); RowCount = _VM.SimulationParameters.OutputRackCapacity / ColCount; Rem = _VM.SimulationParameters.OutputRackCapacity % ColCount; i = 0; for (i = 0; i < RowCount; i++) { OutputVials.Add(new List <ViewModel_Vial>()); for (int j = 0; j < 20; j++) { ViewModel_Vial vial = new ViewModel_Vial((uint)((i * (ColCount)) + j), Model_Vial.VialState.EMPTY, Model_Vial.VialPurpose.OUTPUT); OutputVials[i].Add(vial); } } OutputVials.Add(new List <ViewModel_Vial>()); for (int k = 0; k < Rem; k++) { ViewModel_Vial vial = new ViewModel_Vial((uint)((i * (ColCount)) + k), Model_Vial.VialState.EMPTY, Model_Vial.VialPurpose.OUTPUT); OutputVials[i].Add(vial); } _VM.OutputRack = new ViewModel_Rack(OutputVials, 0.0f, Model_Rack.RackPurpose.OUTPUT, _VM.SimulationParameters.OutputRackCapacity, RowCount, ColCount); RackTemplate_Output.ItemsSource = _VM.OutputRack.Vials; #endregion }