public void ProcessData()
        {
            Status = "Processing data...";
            ProcessedStateData.Clear();
            ProcessedCountryData.Clear();

            List<Metrics> metrics = new List<Metrics>();
            if (IncludeDeaths) metrics.Add(Metrics.Deaths);
            if (IncludeCases) metrics.Add(Metrics.Cases);
            if (IncludeTests) metrics.Add(Metrics.Tests);
            if (IncludePercentPositive) metrics.Add(Metrics.PercentPositive);
            if (IncludeCurrentHospitalizations) metrics.Add(Metrics.HospitalCurrent);
            if (IncludeNewHospitalizations) metrics.Add(Metrics.HospitalNew);

            if (UseCovidDataSource)
            {
                foreach (State s in StateData)
                {
                    var processedState = new ProcessedState(s);
                    if (UseDailyData)
                    {
                        var parseSuccess = Int32.TryParse(RollingAverageNumber, out int rollingAvg);
                        if (rollingAvg == 0) rollingAvg = 7;
                        processedState.ProcessDailyData(metrics, ProcessRollingAverage, rollingAvg, ProcessPerCapita);
                    }
                    else if (UseCumeData)
                    {
                        processedState.ProcessCumulativeData(metrics, ProcessPerCapita);
                    }

                    ProcessedStateData.Add(processedState);
                }
            }
            else if (UseOwidSource)
            {
                foreach (OwidCountry c in CountryData)
                {
                    var processedCountry = new ProcessedCountry(c);
                    if (UseDailyData)
                    {
                        int rollingAvg = 7;
                        var parseSuccess = Int32.TryParse(RollingAverageNumber, out rollingAvg);
                        if (rollingAvg == 0) rollingAvg = 7;
                        processedCountry.ProcessDailyData(metrics, ProcessRollingAverage, rollingAvg, ProcessPerCapita);
                    }
                    else if (UseCumeData)
                    {
                        processedCountry.ProcessCumulativeData(metrics, ProcessPerCapita);
                    }

                    ProcessedCountryData.Add(processedCountry);
                }
            }

            isDataProcessed = true;

            Status = "Data Processed!";
        }
Exemple #2
0
        private void SetProcessedState(long syncProcessingId, ProcessedState state, string info = "")
        {
            var parms = new List <SqlParameter>
            {
                new SqlParameter {
                    ParameterName = "@SyncProcessingId", Value = syncProcessingId
                },
                new SqlParameter {
                    ParameterName = "@State", Value = state
                }
            };

            if (info != "")
            {
                parms.Add(new SqlParameter {
                    ParameterName = "@Info", Value = info
                });
            }
            DataAccess.ExecuteSqlCommand("usp_SetProcessedState", CommandType.StoredProcedure, parms);
        }