protected void SetHearingLevel(EarType ear, double freqHz, string hearingLevel) { HearingLevelValidation hlValidator = new HearingLevelValidation(); ValidationResult validResult = hlValidator.Validate(hearingLevel, CultureInfo.InvariantCulture); HLValidationError = validResult.IsValid ? String.Empty : validResult.ErrorContent.ToString(); if (validResult.IsValid) { if (HearingLevels.ContainsKey(freqHz)) { if (ear == EarType.RightEar) { HearingLevels[freqHz].RightEarHLdBStr = hearingLevel; } else if (ear == EarType.LeftEar) { HearingLevels[freqHz].LeftEarHLdBStr = hearingLevel; } else { throw new InvalidEnumArgumentException(); } } else { if (ear == EarType.RightEar) { HearingLevels.Add(freqHz, new HearingLevel { RightEarHLdBStr = hearingLevel }); } else if (ear == EarType.LeftEar) { HearingLevels.Add(freqHz, new HearingLevel { LeftEarHLdBStr = hearingLevel }); } else { throw new InvalidEnumArgumentException(); } } AudiogramPlot.UpdateEarPlot(ear, HearingLevels, AddBCFreqShift); if (ear == EarType.RightEar) { HasRtEarValidData = HearingLevels.Values.Any(hl => hl.RightEarHLdB != null || hl.RightEarHLdBStr == HearingLevelTypes.NoResponse.GetDescription()); } else if (ear == EarType.LeftEar) { HasLtEarValidData = HearingLevels.Values.Any(hl => hl.LeftEarHLdB != null || hl.LeftEarHLdBStr == HearingLevelTypes.NoResponse.GetDescription()); } else { throw new InvalidEnumArgumentException(); } } }
public static PageContent CreatePrintPageContentOxyPlot(Size pageSize, AudiogramPlot audiogramPlot, int width, int height, string header) { return(CreatePrintPageContentOxyPlot(pageSize, AudiogramPlot.PlotModel, width, height, header)); }
private void PrintGuiBtn_Click(object sender, RoutedEventArgs e) { try { PrintDialog printDlg = new PrintDialog(); bool? print = printDlg.ShowDialog(); if (print.HasValue && print.Value) { int mainTabIndex = mainTabCtrl.SelectedIndex; var pageSize = new Size(printDlg.PrintableAreaWidth, printDlg.PrintableAreaHeight); var document = new FixedDocument(); document.DocumentPaginator.PageSize = pageSize; SwitchTab(mainTabCtrl, MainViewModel.PatientTabIndex); var firstPageContent = PrintUtility.CreatePrintPageContent(pageSize, PatientInfoCanvas, "Patient Information"); document.Pages.Add(firstPageContent); var secondPageContent = PrintUtility.CreatePrintPageContent(pageSize, ExamInfoCanvas, "Exam Information"); document.Pages.Add(secondPageContent); int ptamTabIndex = ptamTabCtrl.SelectedIndex; SwitchTab(mainTabCtrl, MainViewModel.PureToneTabIndex); var thirdPageContent = PrintUtility.CreatePrintPageContent(pageSize, PureToneAMCanvas, ptamTabCtrl, 0, 3, "Pure Tone Audiometry"); document.Pages.Add(thirdPageContent); var fourthPageContent = PrintUtility.CreatePrintPageContent(pageSize, PureToneAMCanvas, ptamTabCtrl, 4, 6, "Pure Tone Audiometry"); document.Pages.Add(fourthPageContent); AudiogramPlot audiogramPlot = ((PureToneTabVM)mainVM.TabVMs[MainViewModel.PureToneTabIndex]).ACMskTabVM.PureToneData.AudiogramPlot; var fifthPageContent = PrintUtility.CreatePrintPageContentOxyPlot(pageSize, audiogramPlot, (int)AudiogramPlot.Width, (int)AudiogramPlot.Height, "Audiogram"); document.Pages.Add(fifthPageContent); var sixthPageContent = PrintUtility.CreatePrintPageContent(pageSize, HearingDisabilityCanvas, "Hearing Disability"); document.Pages.Add(sixthPageContent); int specTabIndex = specialTestsTabCtrl.SelectedIndex; var seventhPageContent = PrintUtility.CreatePrintPageContent(pageSize, SpecialTestsCanvas, specialTestsTabCtrl, 0, 2, "Special Tests"); document.Pages.Add(seventhPageContent); var eighthPageContent = PrintUtility.CreatePrintPageContent(pageSize, SpecialTestsCanvas, specialTestsTabCtrl, 3, 3, "Special Tests"); document.Pages.Add(eighthPageContent); var ninthPageContent = PrintUtility.CreatePrintPageContent(pageSize, TuningForkTestsCanvas, "Tuning Fork Tests"); document.Pages.Add(ninthPageContent); SwitchTab(mainTabCtrl, MainViewModel.SpeechTabIndex); var tenthPageContent = PrintUtility.CreatePrintPageContent(pageSize, SpeechAudiometryCanvas, "Speech Audiometry"); document.Pages.Add(tenthPageContent); PlotModel speechPlot = ((SpeechTabVM)mainVM.TabVMs[MainViewModel.SpeechTabIndex]).SpeechPlotModel; var eleventhPageContent = PrintUtility.CreatePrintPageContentOxyPlot(pageSize, speechPlot, (int)SpeechAudiometryPlot.Width, (int)SpeechAudiometryPlot.Height, "Speech Audiometry"); document.Pages.Add(eleventhPageContent); SwitchTab(mainTabCtrl, MainViewModel.ImpedanceTabIndex); var twelvethPageContent = PrintUtility.CreatePrintPageContent(pageSize, ImpedanceCanvas, "Impedance Audiometry"); document.Pages.Add(twelvethPageContent); PlotModel impedancePlot = ((ImpedanceTabVM)mainVM.TabVMs[MainViewModel.ImpedanceTabIndex]).Tympanogram; var thirteenthPageContent = PrintUtility.CreatePrintPageContentOxyPlot(pageSize, impedancePlot, (int)ImpedancePlot.Width, (int)ImpedancePlot.Height, "Tympanogram"); document.Pages.Add(thirteenthPageContent); SwitchTab(mainTabCtrl, MainViewModel.BithermalCaloricTabIndex); var fourteenthPageContent = PrintUtility.CreatePrintPageContent(pageSize, BithermalCaloricCanvas, "Bithermal Caloric Test"); document.Pages.Add(fourteenthPageContent); var fifteenthPageContent = PrintUtility.CreatePrintPageContentOxyPlot(pageSize, ((BithermalCaloricTabVM)mainVM.TabVMs[MainViewModel.BithermalCaloricTabIndex]), (int)BithermalCaloricPlot.Width, (int)BithermalCaloricPlot.Height, "Calorigram"); document.Pages.Add(fifteenthPageContent); //SwitchTab(mainTabCtrl, mainTabIndex); mainTabCtrl.SelectedIndex = mainTabIndex; ptamTabCtrl.SelectedIndex = ptamTabIndex; specialTestsTabCtrl.SelectedIndex = specTabIndex; ChangeWidthAndRefresh(); // Send to the printer. printDlg.PrintDocument(document.DocumentPaginator, "AudiologicProfile.pdf"); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } }