/// <summary> /// Loads the last two versions of the report. Use LoadCaseData to refresh UI as it loads the diagnosis for the case as well. /// </summary> private void RefreshComparison() { if (cmbCaseNumber.SelectedValue != null && cmbVersion.SelectedIndex != -1) { wbDiffText.Text = ""; string html = ""; var listCase = SqliteDataAcces.GetListCaseEntry(cmbCaseNumber.SelectedValue.ToString()); // gets the case entrys, groups them by author and then selects the last two author entries to compare. var dt = DateTime.Parse(cmbVersion.SelectedItem.ToString()); CaseEntry residentEntry = listCase.Where(x => x.DateTimeModifiedObject == dt).First(); CaseEntry attendingEntry = listCase.Last(); html += DiffToHTML(residentEntry.Interpretation, attendingEntry.Interpretation, "Interpretation"); html += DiffToHTML(residentEntry.Material, attendingEntry.Material, "Material"); html += DiffToHTML(residentEntry.History, attendingEntry.History, "History"); html += DiffToHTML(residentEntry.Gross, attendingEntry.Gross, "Gross"); html += DiffToHTML(residentEntry.Microscopic, attendingEntry.Microscopic, "Microscopic"); html += DiffToHTML(residentEntry.TumorSynoptic, attendingEntry.TumorSynoptic, "Tumor Synoptic"); html += DiffToHTML(residentEntry.Comment, attendingEntry.Comment, "Comment"); html = "<head><style>INS {background-color: powderblue;}DEL {color: #ff5151;}</style></head>" + html; wbDiffText.Text = html; } else { wbDiffText.Text = ""; } }