/// <summary> /// Kysytään käyttäjältä haluaako hän tallentaa nykyiset auki olevat tilitapahtumat, jonka jälkeen avataan OpenFileDialog, jossa käyttäjä hakee haluamansa /// .las-päättyvän Tililaskuri-tiedoston, jonka jälkeen nykyinen lista tilitapahutmista tyhjennetään ja tiedostosta parsetaan tapahtumat kyseiseen listaan, /// päivittäen lopulta tapahtumat datagrid-elementtiin /// </summary> /// <param name="target">Tapahtuman kutsuja, tässä tapauksessa Tililaskuri</param> /// <param name="e">Tapahtuman eventit, ei tarvita</param> private void SuoritaAvaaKomento(object target, ExecutedRoutedEventArgs e) { KyllaEiPeruutaDialog dialog = new KyllaEiPeruutaDialog(); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { if (dialog.PainettiinkoPeruuta == true) return; SuoritaTallennaKomento(target, null); } OpenFileDialog dlg = new OpenFileDialog(); dlg.FileName = ".las"; dlg.DefaultExt = ".las"; dlg.Filter = "Tililaskuri-tiedostot (.las)|*.las"; Nullable<bool> result = dlg.ShowDialog(); if (result == true) { ListaTapahtumat.Clear(); string filename = dlg.FileName; StreamReader reader = new StreamReader(filename); string line; while ((line = reader.ReadLine()) != null) { Tilitapahtuma t = new Tilitapahtuma(); char[] separator = new char[] { '|' }; string[] kentat = line.Split(separator, StringSplitOptions.None); t.Kohde = kentat[0]; t.Päivämäärä = DateTime.Parse(kentat[1]); t.Summa = Convert.ToDouble(kentat[2]); t.Selitys = kentat[3]; t.Tilinumero = kentat[4]; ListaTapahtumat.Add(t); } HaeTapahtumat(this, null); } }
/// <summary> /// Kysytään käyttäjältä haluaako hän tallentaa tilitapahtumat ennen sulkua Kyllä/Ei/Peruuta-dialogilla, jonka jälkeen suljetaan ohjelma mikäli ei painettu Peruuta /// </summary> /// <param name="target">Tapahtuman kutsuja, tässä tapauksessa Tililaskuri</param> /// <param name="e">Tapahtuman eventit, ei tarvita</param> private void SuoritaSuljeKomento(object target, ExecutedRoutedEventArgs e) { KyllaEiPeruutaDialog dialog = new KyllaEiPeruutaDialog(); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { if (dialog.PainettiinkoPeruuta == true) return; SuoritaTallennaKomento(target, null); } this.Close(); }