public SupplementaryReportViewModel(IWorkListDataSource dataSource, string siteID, string accessionNumber, string caseURN, CaseConsultationList consultationList, bool isGlobalReadOnly = false, ReadingSiteType siteType = ReadingSiteType.interpretation) { this.DataSource = dataSource; // case info this.SiteID = siteID; this.AccessionNumber = accessionNumber; this.CaseURN = caseURN; this.ConsultationList = consultationList; this.CurrentSiteType = siteType; this.IsEditorReadOnly = isGlobalReadOnly; GetConsultationID(); // retrieve all the supplementary reports for the case srModel = dataSource.GetSupplementalReports(this.CaseURN); ClearSRCommand = new RelayCommand(ClearSR, () => this.CanClearSR); AddNewSRCommand = new RelayCommand(AddNewSR, () => this.CanAddNewSR); UpdateSRCommand = new RelayCommand(UpdateSR, () => this.CanUpdateSR); VerifySRCommand = new RelayCommand(VerifySR, () => this.CanVerifySR); CompleteConsultationCommand = new RelayCommand(CompleteConsultation, () => this.CanCompleteConsultation); ClearSR(); // retrieve the Esignature status at the case's primary site GetESignatureStatus(); }
/// <summary> /// Retrieve a list of supplementary report for a case /// </summary> /// <param name="caseURN">Case ID</param> /// <returns>list of supplementary reports for the case</returns> public SupplementaryReportModel GetSupplementalReports(string caseURN) { Log.Debug("Retrieving supplementary report..."); SupplementaryReportModel srModel = new SupplementaryReportModel(); if (string.IsNullOrWhiteSpace(caseURN)) { Log.Error("Missing parameter: caseURN."); return srModel; } string URI = String.Format("pathology/case/supplementalreports/{0}", caseURN); IRestResponse response; try { response = ExecuteGet(URI, VixServiceTypes.Pathology); ValidateRestResponse(response); SupplementaryReportList supList = ResponseParser.ParseGetSupplementalReportList(response.Content); srModel.LoadSupplementReports(supList); } catch (MagVixFailureException vfe) { Log.Error("Unexpected response", vfe); } catch (Exception ex) { Log.Error("Could not complete request to retrieve supplementary reports.", ex); } return srModel; }