Exemplo n.º 1
0
        /// <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 = "";
            }
        }