/// <summary> /// Saves the Diganostic + Imaging details, and adds related record /// </summary> /// <param name="specimenAccession"></param> private void SaveDiagnostic(SpecimenAccession specimenAccession) { int patientId = (int)specimenAccession[SpecimenAccession.PatientId]; int specimenAccessionId = (int)specimenAccession[SpecimenAccession.SpecimenAccessionId]; // save Diagnostics int?diagnosticId = null; if (!string.IsNullOrEmpty(DiagnosticIdField.Value)) { diagnosticId = int.Parse(DiagnosticIdField.Value); } Diagnostic diagnostic = new Diagnostic(); // load diagnostic if (diagnosticId.HasValue) { diagnostic.Get(diagnosticId.Value); } // set required fields else { diagnostic[Diagnostic.PatientId] = patientId; diagnostic[Diagnostic.DxDate] = specimenAccession[SpecimenAccession.CollectDate]; diagnostic[Diagnostic.DxDateText] = specimenAccession[SpecimenAccession.CollectDateText]; diagnostic[Diagnostic.DxTarget] = "Prostate"; } // update type??? diagnostic[Diagnostic.DxType] = AccessionProcName.Text; // set bizo value CICHelper.SetBOValues(Tissue_DiagnosticFields.Controls, diagnostic, patientId); // save diagnostic diagnostic.Save(); // on update, link to SA if (diagnostic.PrimaryKeyHasValue) { diagnosticId = (int)diagnostic[Diagnostic.DiagnosticId]; DiagnosticIdField.Value = diagnosticId.Value.ToString(); // create related Diagnostic RelatedRecord relatedDiagnostic = CreateRelatedDiagnostic(specimenAccessionId, diagnosticId.Value); // get ImageFindingProstate ImageFindingProstate finding = BusinessObject.GetByParent <ImageFindingProstate>(diagnosticId.Value).FirstOrDefault(); // else, create if (finding == null) { finding = new ImageFindingProstate(); finding[ImageFindingProstate.DiagnosticId] = diagnosticId.Value; } // set fields CICHelper.SetBOValues(Tissue_DiagnosticFields.Controls, finding, diagnosticId.Value); // update finding.Save(); } }
/// <summary> /// Popualtes the Diagnostic + Imaging fields /// </summary> /// <param name="specimenAccessionId"></param> private void PopulateDiagnostic(int specimenAccessionId) { Diagnostic diagnostic = GetRealtedDiagnostic(specimenAccessionId); if (diagnostic != null) { int diagnosticId = (int)diagnostic[Diagnostic.DiagnosticId]; // set realted Diagnostic DiagnosticIdField.Value = diagnostic[diagnostic.PrimaryKeyName].ToString(); // populate Diagnostic fields CICHelper.SetFieldValues(Tissue_DiagnosticFields.Controls, diagnostic); // populate image finding ImageFindingProstate finding = BusinessObject.GetByParent <ImageFindingProstate>(diagnosticId).FirstOrDefault(); if (finding != null) { // set fields CICHelper.SetFieldValues(Tissue_DiagnosticFields.Controls, finding); } } }