public void AddNewDose(IDoseObject dose) { var wrapper = new DoseGridWrapper(); wrapper.Dose = dose; wrapper.LUTType = LUTType.Contour; wrapper.LUT = getNewLUT(wrapper.LUTType, dose); wrapper.RenderDoseWash = false; wrapper.RenderLines = true; Doses.Add(wrapper); SelectedDose = wrapper; OnRenderDoseChanged(wrapper); wrapper.PropertyChanged += Wrapper_PropertyChanged; var options = new EgsPhantomCreatorOptions(); options.Grid = dose.Grid; options.OutputFileName = Path.Combine(Path.GetTempPath(), @"out.txt"); options.XRange = options.Grid.XRange; options.YRange = options.Grid.YRange; options.ZRange = options.Grid.ZRange; options.Dx = 5; options.Dy = 5; options.Dz = 5; var creator = new EgsPhantomCreator(); creator.Create(options); }
public void RemoveDose(IDoseObject dose) { DoseGridWrapper wrapper = Doses.Where(b => b.Dose == dose).FirstOrDefault(); if (wrapper != null) { wrapper.PropertyChanged -= Wrapper_PropertyChanged; Doses.Remove(wrapper); } }
private void btnSave_Click(object sender, EventArgs e) { bool Validity = true; ReadRegimes(); //Populates List<Patient> with existing data if ( !pIsNew ) RegimeList.RemoveAt(pIndex); Validator DoseVal = new Validator(); if ( Validity ) { List<Doses> TheDoses = new List<Doses>(); if ( tbDose1.Text != "" && tbDose1.Text != "Dose" ) { int ErrCode = DoseVal.Check(1, 0, tbDose1.Text); if ( ErrCode == 0 ) { Doses d1 = new Doses(tbDrugName1.Text, float.Parse(tbDose1.Text), cbCalcMethod1.Text, cbAdmin1.Text, tbURL1.Text, D1Days); TheDoses.Add(d1); tbDose1.BackColor = Color.White; } else { Validity = false; tbDose1.BackColor = Color.Red; DoseVal.ErrorMessage(ErrCode); return; } } if ( tbDose2.Text != "" && tbDose2.Text != "Dose" ) { int ErrCode = DoseVal.Check(1, 0, tbDose2.Text); if ( ErrCode == 0 ) { Doses d2 = new Doses(tbDrugName2.Text, float.Parse(tbDose2.Text), cbCalcMethod2.Text, cbAdmin2.Text, tbURL2.Text, D2Days); TheDoses.Add(d2); tbDose2.BackColor = Color.White; } else { Validity = false; tbDose2.BackColor = Color.Red; DoseVal.ErrorMessage(ErrCode); return; } } if ( tbDose3.Text != "" && tbDose3.Text != "Dose" ) { int ErrCode = DoseVal.Check(1, 0, tbDose3.Text); if ( ErrCode == 0 ) { Doses d3 = new Doses(tbDrugName3.Text, float.Parse(tbDose3.Text), cbCalcMethod3.Text, cbAdmin3.Text, tbURL3.Text, D3Days); TheDoses.Add(d3); tbDose3.BackColor = Color.White; } else { Validity = false; tbDose3.BackColor = Color.Red; DoseVal.ErrorMessage(ErrCode); return; } } if ( tbDose4.Text != "" && tbDose4.Text != "Dose" ) { int ErrCode = DoseVal.Check(1, 0, tbDose4.Text); if ( ErrCode == 0 ) { Doses d4 = new Doses(tbDrugName4.Text, float.Parse(tbDose4.Text), cbCalcMethod4.Text, cbAdmin4.Text, tbURL4.Text, D4Days); TheDoses.Add(d4); tbDose4.BackColor = Color.White; } else { Validity = false; tbDose4.BackColor = Color.Red; DoseVal.ErrorMessage(ErrCode); return; } } if ( TheDoses.Count > 0 ) { RegimeData X = new RegimeData(tbRegName.Text, tbDesc.Lines, tbExtravasation.Text, tbComment.Lines, TheDoses, (int) numNoCycles.Value, (int) numDaysCycle.Value);// XmlSerializer XSR = new XmlSerializer(typeof(List<RegimeData>)); //new instance of XML serialiser to store List PatientDataRecords RegimeList.Add(X); //Appends latest data to list FileStream DataOut = new FileStream("Regimes.xml", FileMode.Create); //Creates file object XSR.Serialize(DataOut, RegimeList); //Outputs data DataOut.Close(); //Closes File string MessageStr = pIsNew ? "Data Recorded" : "Data Updated"; MessageBox.Show(MessageStr, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Fields incomplete\nData not written", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //else // DoseVal.ErrorMessage(ErrorCode); }