private void btnTalletaPelaaja_Click(object sender, RoutedEventArgs e) { try { pelaaja = new Pelaaja(txtEtunimi.Text, txtSukunimi.Text, comboBox.Text, int.Parse(txtSiirtohinta.Text)); if (!kaikkipelaajat.Any(str => str.Contains(pelaaja.Kokonimi))) { kaikkipelaajat.Add(pelaaja.AllData()); UpdateInfo(); } else { kaikkipelaajat.RemoveAt(pelaaja.GetPosition(kaikkipelaajat, kaikkipelaajat.Count, pelaaja.Kokonimi)); kaikkipelaajat.Add(pelaaja.AllData()); UpdateInfo(); } txtbStatus.Text = "Pelaaja Tallennettu"; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void uusiPelaajaButton_Click(object sender, RoutedEventArgs e) { //tarkistetaan että kaikissa kentissä on arvo if (string.IsNullOrWhiteSpace(etunimiTextBox.Text) || string.IsNullOrWhiteSpace(sukunimiTextBox.Text) || string.IsNullOrWhiteSpace(siirtohintaTextBox.Text)) { tbStatus.Text = "Täytä kaikki kentät."; } else { try { //luodaan olio luokasta Pelaaja Pelaaja uusiPelaaja = new Pelaaja(etunimiTextBox.Text, sukunimiTextBox.Text, float.Parse(siirtohintaTextBox.Text), seuraComboBox.Text); //tämän flägin avulla tarkistetaan samannimisen pelaajan olemassaolo kokoelmassa bool samaNimiFlag = false; //tarkistetaan ettei samannimistä pelaajaa ole jo Pelaajat -oliokokoelmassa foreach (Pelaaja vanhaPelaaja in pelaajat) { if (uusiPelaaja.KokoNimi == vanhaPelaaja.KokoNimi) { samaNimiFlag = true; tbStatus.Text = "Samanniminen pelaaja löytyy jo."; break; } } //jos kokoelma on tyhjä tai flägi on false (samannimistä pelaajaa ei löytynyt) -> luodaan uusi pelaaja if (pelaajat.Count == 0 || !samaNimiFlag) { pelaajat.Add(uusiPelaaja); tbStatus.Text = "Pelaaja lisätty."; } //kirjoitetaan kaikkien Pelaaja-olioiden EsitysNimi listBoxiin List<string> items = new List<string>(); foreach (Pelaaja pelaaja in pelaajat) { items.Add(pelaaja.EsitysNimi); } listBox.ItemsSource = items; } catch (Exception ex) { tbStatus.Text = ex.Message; } } }
private void btnUusiPelaaja_Click(object sender, RoutedEventArgs e) { try { // Tarkistetaan syötteet string nimi = tbEtunimi.Text; if (String.IsNullOrEmpty(nimi)) { throw new Exception("Etunimi ei voi olla tyhjä!"); } string snimi = tbSukunimi.Text; if (String.IsNullOrEmpty(snimi)) { throw new Exception("Sukunimi ei voi olla tyhjä!"); } string hinta = tbSiirtohinta.Text; if (!hinta.All(char.IsDigit)) { throw new Exception("Hinnan täytyy olla numero!"); } string seura = cbSeurat.Text; // Call business logic? // Tarkistetaan onko saman nimistä pelaajaa olemassa Pelaaja temp = new Pelaaja(nimi, snimi, int.Parse(hinta), seura); int index = pelaajat.FindIndex(f => f.KokoNimi == temp.KokoNimi); if (index >= 0) { // Saman niminen pelaaja löytyi throw new Exception("Pelaaja on jo olemassa!"); } else { // Saman nimistä ei löytynyt, joten tallennetaan listaan pelaajat.Add(new Pelaaja(nimi, snimi, int.Parse(hinta), seura)); updatePelaajatList(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void poistaPelaajaButton_Click(object sender, RoutedEventArgs e) { //selvitetään, kuka pelaaja on tällä hetkellä valittuna listBoxista Pelaaja valittuPelaaja = new Pelaaja(); foreach (Pelaaja pelaaja in pelaajat) { if (pelaaja.EsitysNimi == listBox.SelectedItem.ToString()) { valittuPelaaja = pelaaja; } } //poistetaan valittu pelaaja kokoelmasta pelaajat.Remove(valittuPelaaja); //kirjoitetaan kaikkien Pelaaja-olioiden EsitysNimi listBoxiin List<string> items = new List<string>(); foreach (Pelaaja pelaaja in pelaajat) { items.Add(pelaaja.EsitysNimi); } listBox.ItemsSource = items; tbStatus.Text = "Pelaaja poistettu."; }
private void talletaPelaajaButton_Click(object sender, RoutedEventArgs e) { //selvitetään, kuka pelaaja on tällä hetkellä valittuna listBoxista Pelaaja valittuPelaaja = new Pelaaja(); foreach (Pelaaja pelaaja in pelaajat) { if (pelaaja.EsitysNimi == listBox.SelectedItem.ToString()) { valittuPelaaja = pelaaja; } } //kirjoitetaan uudet tiedot kentistä valitulle pelaajalle valittuPelaaja.Etunimi = etunimiTextBox.Text; valittuPelaaja.Sukunimi = sukunimiTextBox.Text; valittuPelaaja.Siirtohinta = float.Parse(siirtohintaTextBox.Text); valittuPelaaja.Seura = seuraComboBox.Text; //kirjoitetaan kaikkien Pelaaja-olioiden EsitysNimi listBoxiin List<string> items = new List<string>(); foreach (Pelaaja pelaaja in pelaajat) { items.Add(pelaaja.EsitysNimi); } listBox.ItemsSource = items; tbStatus.Text = "Pelaajan tiedot tallennettu."; }
private void listBox_SelectedIndexChanged(object sender, EventArgs e) { //jos mitään itemiä ei ole valittuna listBoxista, valitaan ensimmäinen itemi (jos sellainen on olemassa) if (listBox.SelectedItem == null) { if (listBox.Items.Count > 0) { listBox.SelectedItem = listBox.Items.GetItemAt(0); } else { return; } } //selvitetään, kuka pelaaja on tällä hetkellä valittuna listBoxista Pelaaja valittuPelaaja = new Pelaaja(); foreach (Pelaaja pelaaja in pelaajat) { if (pelaaja.EsitysNimi == listBox.SelectedItem.ToString()) { valittuPelaaja = pelaaja; } } //kirjoitetaan valittuna olevan pelaajan tiedot kenttiin muokkausta varten etunimiTextBox.Text = valittuPelaaja.Etunimi; sukunimiTextBox.Text = valittuPelaaja.Sukunimi; siirtohintaTextBox.Text = valittuPelaaja.Siirtohinta.ToString(); seuraComboBox.Text = valittuPelaaja.Seura; }
public static List<Pelaaja> ReadDataFromFile() { try { //dialogin avaus OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = "d:\\"; ofd.Filter = "Tekstitiedostot .txt|*.txt|Xml-tiedostot .xml|*.xml|All files|*.*"; Nullable<bool> result = ofd.ShowDialog(); if (result == true) { string fileName = ofd.FileName; //selvitetään tiedostomuoto string fileFormat = Path.GetExtension(fileName); //tekstitiedostosta lukeminen if (fileFormat == ".txt") { if (File.Exists(fileName)) { using (StreamReader sr = File.OpenText(fileName)) { //luetaan rivi kerrallaan tekstitiedostoa Pelaaja p; List<Pelaaja> pelaajat = new List<Pelaaja>(); string rivi = ""; while ((rivi = sr.ReadLine()) != null) { //pilkotaan rivi puolipisteiden kohdalta ja parsitaan hinta kolmannesta sarakkeesta (float) string[] split = rivi.Split(new char[] { ';' }); float hinta = float.Parse(split[2]); //luodaan tekstinpätkistä olio p = new Pelaaja(split[0], split[1], hinta, split[3]); pelaajat.Add(p); } return pelaajat; } } else { throw new FileNotFoundException(); } } //xml-filusta lukeminen if (fileFormat == ".xml") { if (File.Exists(fileName)) { using (XmlReader xw = XmlReader.Create(fileName)) { //luetaan xml-filu ja deserialisoidaan se Pelaaja-olioita sisältäväksi oliokokoelmaksi List<Pelaaja> pelaajat = new List<Pelaaja>(); XmlSerializer serializer = new XmlSerializer(pelaajat.GetType()); pelaajat = serializer.Deserialize(xw) as List<Pelaaja>; return pelaajat; } } else { throw new FileNotFoundException(); } } } } catch (Exception ex) { throw ex; } return null; }