public void Compute()
        {
            DataHelper.RefreshEpiCurveData();

            int highestCount = 0;


            XYColumnChartData xyDataPUI = null;
            double            chartDataYTotal;
            int chartDataSkip = 0;


            if (ApplicationViewModel.Instance.CurrentRegion == Core.Enums.RegionEnum.USA)
            {
                chartDataSkip = 4;
            }
            else
            {
                chartDataSkip = 3;
            }

            for (int i = 0; i < DataHelper.EpiCurveDataPointCollectionCPS.Count - 1; i = i + chartDataSkip)
            {
                XYColumnChartData xyDataC = DataHelper.EpiCurveDataPointCollectionCPS[i];
                XYColumnChartData xyDataP = DataHelper.EpiCurveDataPointCollectionCPS[i + 1];
                XYColumnChartData xyDataS = DataHelper.EpiCurveDataPointCollectionCPS[i + 2];

                if (ApplicationViewModel.Instance.CurrentRegion == Core.Enums.RegionEnum.USA)
                {
                    xyDataPUI = DataHelper.EpiCurveDataPointCollectionCPS[i + 3];
                }

                if (ApplicationViewModel.Instance.CurrentRegion == Core.Enums.RegionEnum.USA)
                {
                    chartDataYTotal = xyDataC.Y + xyDataP.Y + xyDataS.Y + xyDataPUI.Y;
                }
                else
                {
                    chartDataYTotal = xyDataC.Y + xyDataP.Y + xyDataS.Y;
                }


                if (chartDataYTotal > highestCount)
                {
                    highestCount = (int)(chartDataYTotal);
                }
            }

            //foreach (XYColumnChartData xyData in DataHelper.EpiCurveDataPointCollection)
            //{
            //    if (xyData.Y > highestCount)
            //    {
            //        highestCount = (int)xyData.Y;
            //    }
            //}

            numberCoordinates.From = 0;
            numberCoordinates.To   = highestCount;

            if (highestCount > 70)
            {
                numberCoordinates.Step = 5;
                numberCoordinates.To   = highestCount + (highestCount % 5);
            }
            else if (highestCount > 36)
            {
                numberCoordinates.Step = 2;

                if (highestCount % 2 == 1)
                {
                    numberCoordinates.To = highestCount + 1;
                }
            }
            else
            {
                numberCoordinates.Step = 1;
                if (highestCount <= 10)
                {
                    numberCoordinates.NumberOfPoints = highestCount + 1;
                }
            }



            tblockNumber.Text = "...";

            EpiDataHelper dataHelper = this.DataContext as EpiDataHelper;

            if (dataHelper != null)
            {
                if (ApplicationViewModel.Instance.CurrentRegion == Core.Enums.RegionEnum.USA)
                {
                    var query = from caseVM in dataHelper.CaseCollection
                                where caseVM.DateOnset.HasValue == false &&
                                (caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Confirmed ||
                                 caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Probable ||
                                 caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Suspect ||
                                 caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.PUI)
                                select caseVM;

                    tblockNumber.Text = query.Count().ToString();
                }
                else
                {
                    var query = from caseVM in dataHelper.CaseCollection
                                where caseVM.DateOnset.HasValue == false &&
                                (caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Confirmed ||
                                 caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Probable ||
                                 caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Suspect)
                                select caseVM;

                    tblockNumber.Text = query.Count().ToString();
                }


                //  tblockNumber.Text = query.Count().ToString();
            }

            xyChart.MaxWidth = System.Windows.SystemParameters.PrimaryScreenWidth - 40;
        }
Example #2
0
        public void Compute()
        {
            DataHelper.RefreshEpiCurveData();

            int highestCount = 0;

            for (int i = 0; i < DataHelper.EpiCurveDataPointCollectionCP.Count - 1; i = i + 2)
            {
                XYColumnChartData xyDataC = DataHelper.EpiCurveDataPointCollectionCP[i];
                XYColumnChartData xyDataP = DataHelper.EpiCurveDataPointCollectionCP[i + 1];

                if ((xyDataC.Y + xyDataP.Y) > highestCount)
                {
                    highestCount = (int)(xyDataC.Y + xyDataP.Y);
                }
            }

            //foreach (XYColumnChartData xyData in DataHelper.EpiCurveDataPointCollection)
            //{
            //    if (xyData.Y > highestCount)
            //    {
            //        highestCount = (int)xyData.Y;
            //    }
            //}

            numberCoordinates.From = 0;
            numberCoordinates.To   = highestCount;

            if (highestCount > 70)
            {
                numberCoordinates.Step = 5;
                numberCoordinates.To   = highestCount + (highestCount % 5);
            }
            else if (highestCount > 36)
            {
                numberCoordinates.Step = 2;

                if (highestCount % 2 == 1)
                {
                    numberCoordinates.To = highestCount + 1;
                }
            }
            else
            {
                numberCoordinates.Step = 1;
                if (highestCount <= 10)
                {
                    numberCoordinates.NumberOfPoints = highestCount + 1;
                }
            }

            tblockNumber.Text = "...";

            EpiDataHelper dataHelper = this.DataContext as EpiDataHelper;

            if (dataHelper != null)
            {
                var query = from caseVM in dataHelper.CaseCollection
                            where caseVM.DateOnset.HasValue == false &&
                            (caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Confirmed || caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Probable)
                            select caseVM;

                tblockNumber.Text = query.Count().ToString();
            }
            xyChart.MaxWidth = System.Windows.SystemParameters.PrimaryScreenWidth - 40;
        }