Beispiel #1
0
        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'";
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 /// <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);
 }