Пример #1
0
        private void btnQuery_Click(object sender, RoutedEventArgs e) //btnQuery的Click事件,查询结果按钮
        {
            if (lstPeople.SelectedItems.Count == 0)
            {
                MessageBox.Show("您未选中任何一人进行追踪!", "提示信息");
                return;
            }
            string          s         = "<p>风险等级标准:低风险地区(绿色),密切接触者小于等于2人;中风险地区(黄色),密切接触者在3人到10人之间;高风险地区(红色),密切接触者大于10人。</p>";
            Vector <Person> personArr = new Vector <Person>();

            Global.personArr = personArr;
            Vector <Vector <Vector <TimeSpan> > > timeSpanArr = new Vector <Vector <Vector <TimeSpan> > >();

            Global.timeSpanArr = timeSpanArr;
            for (int k = 0; k < lstPeople.SelectedItems.Count; k++)
            {
                Person p = (Person)(((ListBoxItem)lstPeople.SelectedItems[k]).DataContext);
                personArr.append(p);
                Vector <Vector <Strcture.TimeSpan> > arr = Global.processedStorage.query(p);

                /*DEBUG BEGIN
                 * Vector<Vector<Strcture.TimeSpan>> arrBF = Global.processedStorage.queryBruteForce(p);
                 * Debug.Assert(arr.size() == arrBF.size());
                 * for(int i = 0; i < arr.size(); i++)
                 * {
                 *  Algorithm.quickSort(arr[i], new TimeSpanComparerByContent());
                 *  Algorithm.quickSort(arrBF[i], new TimeSpanComparerByContent());
                 *  for(int j = 0; j < arr[i].size(); j++)
                 *  {
                 *      if (!object.ReferenceEquals(arr[i][j], arrBF[i][j]))
                 *          Debug.Assert(false);
                 *  }
                 * }
                 * DEBUG END*/
                timeSpanArr.append(arr);

                s += "<h1>查询“" + p.name + "”的密切接触者信息</h1><br>";
                int totalNumber = 0;
                for (int i = 0; i < arr.size(); i++)
                {
                    if (arr[i].size() == 0)
                    {
                        continue;
                    }
                    s += "在地点“<strong style=\"color: " + Site.getRiskLevel(arr[i].size()) + "\">" + Global.storage.Sites[arr[i][0].siteID].name + "</strong>”:<br>";
                    s += "本人停留时间:" + Global.storage.TimeSpans[p.timeSpanCollection[i]].startHour.ToString() +
                         "小时至" + Global.storage.TimeSpans[p.timeSpanCollection[i]].endHour.ToString() + "小时<br>";
                    s += "密切接触者信息:<br>";
                    s += "<table class=\"table\"><thead><tr><th>姓名</th><th>停留时间</th><th>公司</th><th>地址</th><th>手机号</th></tr></thead><tbody>";
                    for (int j = 0; j < arr[i].size(); j++)
                    {
                        totalNumber++;
                        s += "<tr>";
                        s += "<th>" + Global.storage.Persons[arr[i][j].personID].name + "</th>";
                        s += "<th>" + arr[i][j].startHour.ToString() + "小时至" + arr[i][j].endHour.ToString() + "小时</th>";
                        s += "<th>" + Global.storage.Persons[arr[i][j].personID].company + "</th>";
                        s += "<th>" + Global.storage.Persons[arr[i][j].personID].address + "</th>";
                        s += "<th>" + Global.storage.Persons[arr[i][j].personID].telephone + "</th>";
                        s += "</tr>";
                    }
                    s += "</tbody></table>";
                }
                if (totalNumber == 0)
                {
                    s += "<strong>没有任何密切接触者!</strong>";
                }
            }
            showDebugInformationInWeb(s);
            DisplayResultFrm = new frmDisplayResult();
            DisplayResultFrm.Show();
        }
Пример #2
0
 private void btnViewResult_Click(object sender, RoutedEventArgs e) //btnViewResult的Click事件,展示查看结果窗体
 {
     DisplayResultFrm = new frmDisplayResult();
     DisplayResultFrm.Show();
 }