protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string codice; // recupero id del comune di cui cercare il tutto if (NavigationContext.QueryString.TryGetValue("comune", out codice)) { idComune = Int32.Parse(codice); comune = csv.LoadLastData(idComune); } else { MessageBox.Show("Errore nel caricamento dei dati del grafico selezionato"); } //recupera che tipo di dato caricare NavigationContext.QueryString.TryGetValue("dato", out tipoDato); if ((tipoDato == "natalita") || (tipoDato == "mortalita")) { //carica dati LoadDoubleData(); //imposta punti grafico Grafico.Points = calcolaDoublePunti(); //imposta etichette AggiornaDoubleEtichette(); Statistiche.Text = "Statistiche:\n" + DStatistica(); } else { //carica dati LoadData(); //imposta punti grafico Grafico.Points = calcolaPunti(); //imposta etichette AggiornaEtichette(); Statistiche.Text = "Statistiche:\n" + Statistica(); } /* string debug=""; foreach(int w in anni)debug+=w.ToString(); debug += "\n\n"; foreach(int w in valori)debug+=w.ToString(); MessageBox.Show(debug); */ //imposta titolo pagina PageTitle.Text = comune.Comune; if (comune.Comune.Length > 9) PageTitle.FontSize = 50; if (comune.Comune.Length > 18) PageTitle.FontSize = 40; ApplicationTitle.Text = tipoDato.ToUpper(); if (tipoDato == "natalita") ApplicationTitle.Text = "TASSO DI NATALITA'"; if (tipoDato == "mortalita") ApplicationTitle.Text = "TASSO DI MORTALITA'"; }
/// <returns>L'ultimo record temporale di un comune</returns> public Record LoadLastData(int comune) { Record ultimo = null; Record penultimo = null; try { var ResourceStream = Application.GetResourceStream(new Uri("file.txt", UriKind.Relative)); if (ResourceStream != null) { using (Stream myFileStream = ResourceStream.Stream) { if (myFileStream.CanRead) { StreamReader myStreamReader = new StreamReader(myFileStream); string line; myStreamReader.ReadLine(); //spreco intestazione //Trova tutti i record con comune e anno ivi specificati, scrivi sempre i dati sullo stesso oggetto line = myStreamReader.ReadLine(); while ((line = myStreamReader.ReadLine()) != null) { //substring ha come argomenti il carattere giusto prima e la lungh della sottostringa if (line.Substring(5, 5) == comune.ToString()) { if(ultimo!=null)penultimo = ultimo; ultimo = new Record(SplitLine(line)); } } } } } } catch (Exception e) { MessageBox.Show(e.Message + "\n\n" + e.Data + "\n\n" + e.StackTrace); // Let the user know what went wrong. Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } if (ultimo.Sesso == "Non rilevato") return ultimo; return penultimo.somma(ultimo); }
/// <returns>La somma dei dati di due record ()utile perché alcuni record sono divisi dal sesso</returns> public Record somma(Record altro) { string a = (PopolazioneInizioAnno + altro.PopolazioneInizioAnno).ToString(); string b = (PopolazioneFineAnno + altro.PopolazioneFineAnno).ToString(); string c = (PopolazioneMedia + altro.PopolazioneMedia).ToString(); string d = (Morti + altro.Morti).ToString(); string e = (NatiVivi + altro.NatiVivi).ToString(); string f = (Iscritti + altro.Iscritti).ToString(); string g = (Cancellati + altro.Cancellati).ToString(); List<string> amen = new List<string>(); amen.Add(Anno.ToString()); amen.Add(CodiceIstat.ToString()); amen.Add(Comune); amen.Add(Sesso); amen.Add(a); amen.Add(e); amen.Add(d); amen.Add(f); amen.Add(g); amen.Add(b); amen.Add(c); return new Record(amen); }