private void plan_ddl_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (plan_ddl.SelectedIndex == -1) { MessageBox.Show("Please select a plan in the dropdown list."); } else { PlanSetup plan_holder = course.PlanSetups.Where(i => i.Id == plan_ddl.SelectedItem.ToString()).First(); //:This is how you go from plansetup to pdplansetup check my swag. //check to see if the course has any PDbeams. try { plan = newcontext.PDPlanSetups.Where(i => i.PlanSetup == plan_holder).First(); //equal object types!! //do all field stuff field_ddl.IsEnabled = true; //field_btn.IsEnabled = true; field_ddl.Items.Clear(); //check to see if any PDbeams exist. foreach (PDBeam beams in plan.Beams) { field_ddl.Items.Add(beams.Id); } } catch { MessageBox.Show("This plan contains no Portal Dosimetry fields."); } } }
//button the get all the fields and list images within the field. private void getField_btn_Click(object sender, RoutedEventArgs e) { newcontext = PD_AdvAnalysis.MainWindow.newcontext; PDPlanSetup ps = PD_AdvAnalysis.MainWindow.plan; int margin_height = 0; int beam_number = 0; foreach (PDBeam pb in ps.Beams) { TextBlock cb = new TextBlock(); cb.Text = pb.Id; cb.FontSize = 14; cb.TextDecorations = TextDecorations.Underline; cb.HorizontalAlignment = HorizontalAlignment.Left; cb.VerticalAlignment = VerticalAlignment.Top; cb.Margin = new Thickness(5, margin_height, 0, 0); Fields.Children.Add(cb); ScrollViewer sv = new ScrollViewer(); sv.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible; sv.HorizontalAlignment = HorizontalAlignment.Left; sv.VerticalAlignment = VerticalAlignment.Top; sv.Height = 60; sv.Width = 400; sv.Margin = new Thickness(5, margin_height + 10, 0, 0); int margin_width = 2; Grid sp = new Grid(); sp.Name = String.Format("Grid_{0}", beam_number); beam_number++; sp.Margin = new Thickness(margin_width, 0, 0, 0); //sp.Orientation = Orientation.Horizontal; for (int r = 0; r < pb.PortalDoseImages.Count(); r++) { ColumnDefinition cd = new ColumnDefinition(); sp.ColumnDefinitions.Add(cd); } RowDefinition rd = new RowDefinition(); sp.RowDefinitions.Add(rd); RowDefinition rd2 = new RowDefinition(); sp.RowDefinitions.Add(rd2); int col = 0; foreach (PortalDoseImage pdi in pb.PortalDoseImages) { //ColumnDefinition cd = new ColumnDefinition(); //sp.ColumnDefinitions= new ColumnDefinitionC //sp.ColumnDefinitions.Add(cd); CheckBox cb2 = new CheckBox(); cb2.Content = pdi.Id; cb2.HorizontalAlignment = HorizontalAlignment.Left; cb2.VerticalAlignment = VerticalAlignment.Top; cb2.Margin = new Thickness(0, 0, 0, 0); //RowDefinition rd = new RowDefinition(); //sp.RowDefinitions.Add(rd); string StartDate = pdi.Session.SessionDate.ToString("MM/dd/yyyy"); TextBlock text_blck = new TextBlock(); text_blck.Text = StartDate; text_blck.HorizontalAlignment = HorizontalAlignment.Left; text_blck.VerticalAlignment = VerticalAlignment.Top; text_blck.Margin = new Thickness(0, 20, 0, 0); //margin_width = 60; //sp.Children.Add(cb2); //sp.Children.Add(text_blck); Grid.SetRow(cb2, 0); Grid.SetColumn(cb2, col); sp.Children.Add(cb2); Grid.SetRow(text_blck, 0); Grid.SetColumn(text_blck, col); sp.Children.Add(text_blck); col++; } Fields.Children.Add(sp); } }