private void OnOpenInReportForm(object obj) { if (SelectedDocument == null) { return; } BaseNewDocumentViewModel viewModel = null; if (SelectedDocument.IsReport()) { var report = SelectedDocument.Report as QCReport; if (report != null) { viewModel = (QCCheckViewModel)MainWindow.ShowView <QCCheckView>(); var qcReportViewModel = (BaseNewDocumentViewModel <QCReportViewModel>)viewModel; qcReportViewModel.Document = new QCReportViewModel(report); } var monthReport = SelectedDocument.Report as QCReport6Month; if (monthReport != null) { viewModel = (QC6MonthCheckViewModel)MainWindow.ShowView <QC6MonthCheckView>(); var qc6MonthViewModel = (BaseNewDocumentViewModel <QCReport6Month>)viewModel; qc6MonthViewModel.Document = monthReport; } } else { var tachographDocument = SelectedDocument.Document as TachographDocument; if (tachographDocument != null) { viewModel = tachographDocument.IsDigital ? (NewTachographViewModel)MainWindow.ShowView <NewTachographView>() : (NewTachographViewModel)MainWindow.ShowView <NewAnalogueTachographView>(); var tachographHistoryViewModel = (NewTachographViewModel)viewModel; tachographHistoryViewModel.Document = tachographDocument; tachographHistoryViewModel.SetDocumentTypes(tachographDocument.IsDigital); tachographHistoryViewModel.SelectedCustomerContact = viewModel.CustomerContacts.FirstOrDefault(c => string.Equals(c.Name, tachographDocument.CustomerContact, StringComparison.CurrentCultureIgnoreCase)); } var undownloadabilityDocument = SelectedDocument.Document as UndownloadabilityDocument; if (undownloadabilityDocument != null) { viewModel = (NewUndownloadabilityViewModel)MainWindow.ShowView <NewUndownloadabilityView>(); var undownloadabilityViewModel = (BaseNewDocumentViewModel <UndownloadabilityDocument>)viewModel; undownloadabilityViewModel.Document = undownloadabilityDocument; } var letterForDecommissioningDocument = SelectedDocument.Document as LetterForDecommissioningDocument; if (letterForDecommissioningDocument != null) { viewModel = (BaseNewDocumentViewModel <LetterForDecommissioningDocument>)MainWindow.ShowView <LetterForDecommissioningView>(); var letterForDecommissioningViewModel = (BaseNewDocumentViewModel <LetterForDecommissioningDocument>)viewModel; letterForDecommissioningViewModel.Document = letterForDecommissioningDocument; } } if (viewModel != null) { viewModel.IsReadOnly = true; viewModel.IsHistoryMode = true; } }