Esempio n. 1
0
        private void WriteFiles(CaseType caseType, DistrictsScenario scenario, IDictionary <string, List <int> > dict)
        {
            List <string> lines = new List <string>();

            foreach (string key in dict.Keys)
            {
                string line = "";
                Console.Write(key + " ");
                line = line + (key + ",");
                foreach (int i in dict[key])
                {
                    Console.Write(i + ",");
                    line = line + (i + ",");
                }
                Console.WriteLine();
                //lines.Add("");
                lines.Add(line);
            }

            using (StreamWriter op = new StreamWriter("districs_data_" + caseType.ToString().ToLower() + "_" + scenario.name + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".csv"))
            {
                foreach (string line in lines)
                {
                    op.WriteLine(line);
                }
                op.Flush();
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
                                                   | SecurityProtocolType.Tls11
                                                   | SecurityProtocolType.Tls12
                                                   | SecurityProtocolType.Ssl3;

            Districts         districts   = new Districts();
            DistrictsScenario allIndiaTop = new DistrictsScenario {
                name = "AllIndiaTop", listDistricts = Constants.AllIndiaTopDistricts, listStates = Constants.AllIndiaTopStates
            };
            DistrictsScenario maharashtra = new DistrictsScenario {
                name = "Maharashtra", listDistricts = Constants.MHAllDistricts, listStates = new List <string> {
                    "Maharashtra"
                }
            };

            districts.Scenario(allIndiaTop);
            districts.Scenario(maharashtra);
            States.ComputeStatesData();
        }
Esempio n. 3
0
        public void Scenario(DistrictsScenario scenario)
        {
            IDictionary <string, List <int> >         dictFatality           = new Dictionary <string, List <int> >();
            IDictionary <string, List <int> >         dictConfirmed          = new Dictionary <string, List <int> >();
            IDictionary <string, List <double> >      dictWeeklyAvgNew       = new Dictionary <string, List <double> >();
            IDictionary <string, SimpleMovingAverage> dictSMA                = new Dictionary <string, SimpleMovingAverage>();
            IDictionary <string, List <double> >      dictWeeklyAvgNewDeaths = new Dictionary <string, List <double> >();
            IDictionary <string, SimpleMovingAverage> dictSMADeaths          = new Dictionary <string, SimpleMovingAverage>();

            foreach (string district in scenario.listDistricts)
            {
                dictFatality.Add(district, new List <int>());
                dictConfirmed.Add(district, new List <int>());
                dictWeeklyAvgNew.Add(district, new List <double>());
                dictSMA.Add(district, new SimpleMovingAverage(7));
                dictWeeklyAvgNewDeaths.Add(district, new List <double>());
                dictSMADeaths.Add(district, new SimpleMovingAverage(7));
            }

            if (scenario.listDistricts.Contains("Ahmedabad"))
            {
                for (int i = 0; i < 11; i++)
                {
                    dictFatality["Ahmedabad"].Add(0);
                    dictConfirmed["Ahmedabad"].Add(0);
                }
            }

            if (scenario.listDistricts.Contains("Raigad"))
            {
                for (int i = 0; i < 11; i++)
                {
                    dictFatality["Raigad"].Add(0);
                    dictConfirmed["Raigad"].Add(0);
                }
            }

            foreach (string state in scenario.listStates)
            {
                var entry = rawJson["districtsDaily"][state];
                foreach (string district in scenario.listDistricts)
                {
                    if (entry[district] != null)
                    {
                        if (district == "Unknown" && state != "Delhi")
                        {
                            continue;
                        }
                        int numDays = entry[district].Count();
                        for (int i = 0; i < numDays; i++)
                        {
                            var e = entry[district][i];
                            int entryDeceasedDistrictCurrent  = int.Parse(e["deceased"].ToString());
                            int entryConfirmedDistrictCurrent = int.Parse(e["confirmed"].ToString());
                            if (dictFatality[district].Count() == 0)
                            {
                                dictSMADeaths[district].addData(entryDeceasedDistrictCurrent);
                            }
                            else
                            {
                                dictSMADeaths[district].addData(entryDeceasedDistrictCurrent - dictFatality[district].Last());
                            }
                            dictWeeklyAvgNewDeaths[district].Add(dictSMADeaths[district].getMean());
                            dictFatality[district].Add(entryDeceasedDistrictCurrent);

                            if (dictConfirmed[district].Count() == 0)
                            {
                                dictSMA[district].addData(entryConfirmedDistrictCurrent);
                            }
                            else
                            {
                                dictSMA[district].addData(entryConfirmedDistrictCurrent - dictConfirmed[district].Last());
                            }

                            dictWeeklyAvgNew[district].Add(dictSMA[district].getMean());
                            dictConfirmed[district].Add(entryConfirmedDistrictCurrent);
                        }
                    }
                }
            }
            WriteFiles(CaseType.Confirmed, scenario, dictConfirmed);
            WriteFiles(CaseType.Fatality, scenario, dictFatality);
            WriteFiles2(CaseType.Confirmed, scenario, dictWeeklyAvgNew);
            WriteFiles2(CaseType.Fatality, scenario, dictWeeklyAvgNewDeaths);
        }