private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            chart.Visibility    = System.Windows.Visibility.Visible;
            hintText.Visibility = System.Windows.Visibility.Collapsed;

            string          selectedProvincia = (string)comboBox.SelectedItem;
            ItalianProvince provincia         = ItalianProvince.UNKNOWN;

            foreach (ItalianProvince prov in Province.provinces)
            {
                if (prov.ToString() == selectedProvincia)
                {
                    provincia = prov;
                }
            }
            var series = new LineSeries
            {
                Values = new ChartValues <ObservablePoint>(),
                Title  = "Totale casi"
            };

            foreach (var dato in DataRepository.Instance.DatiProvince.Where(dp => dp.Province == provincia))
            {
                series.Values.Add(new ObservablePoint(dato.Date.ToOADate(), dato.TotalCases));
            }

            chart.Series.Clear();
            chart.Series.Add(series);
            chart.AxisX.Clear();
            chart.AxisX.Add(new Axis());
            chart.AxisX[0].LabelFormatter = d => DateTime.FromOADate(d).ToShortDateString();
        }
Beispiel #2
0
        internal async Task Initialize()
        {
            var streamAndamentoNazionaleTask = CsvStreamUtility.GetCsvStream("https://github.com/pcm-dpc/COVID-19/raw/master/dati-andamento-nazionale/dpc-covid19-ita-andamento-nazionale.csv");
            var provinceTask = CsvStreamUtility.GetCsvStream("https://github.com/pcm-dpc/COVID-19/raw/master/dati-province/dpc-covid19-ita-province.csv");

            var streamAndamentoNazionale = await streamAndamentoNazionaleTask;

            using var sr = new StreamReader(streamAndamentoNazionale);
            sr.ReadLine();
            while (!sr.EndOfStream)
            {
                var splits = sr.ReadLine().Split(',');
                if (DateTime.TryParse(splits[0], CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date))
                {
                    int ricoveratiConSintomi       = int.Parse(splits[2]);
                    int terapiaIntensiva           = int.Parse(splits[3]);
                    int totale_ospedalizzati       = int.Parse(splits[4]);
                    int isolamento_domiciliare     = int.Parse(splits[5]);
                    int totale_positivi            = int.Parse(splits[6]);
                    int variazione_totale_positivi = int.Parse(splits[7]);
                    int nuovi_positivi             = int.Parse(splits[8]);
                    int dimessi_guariti            = int.Parse(splits[9]);
                    int deceduti    = int.Parse(splits[10]);
                    int totale_casi = int.Parse(splits[13]);
                    int tamponi     = int.Parse(splits[14]);
                    NationalTrendData.Add(new NationalTrendDailyData(date, ricoveratiConSintomi, terapiaIntensiva, totale_ospedalizzati, isolamento_domiciliare, totale_positivi,
                                                                     variazione_totale_positivi, nuovi_positivi, dimessi_guariti, deceduti, totale_casi, tamponi));
                }
            }

            var province = await provinceTask;

            using var sr2 = new StreamReader(province);
            sr2.ReadLine();
            while (!sr2.EndOfStream)
            {
                var splits = sr2.ReadLine().Split(',');
                if (DateTime.TryParse(splits[0], CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date))
                {
                    ItalianProvince provincia = Province.FromInt(int.Parse(splits[4]));
                    if (provincia != ItalianProvince.UNKNOWN)
                    {
                        int totale_casi = int.Parse(splits[9]);
                        DatiProvince.Add(new ProvinceDailyData(date, provincia, totale_casi));
                    }
                }
            }
        }
Beispiel #3
0
 public ProvinceDailyData(DateTime data, ItalianProvince provincia, int totaleCasi)
 {
     Date       = data;
     Province   = provincia;
     TotalCases = totaleCasi;
 }