示例#1
0
        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);
            }
        }
示例#2
0
        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;
                }
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        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.";
        }
示例#6
0
        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.";
        }
示例#7
0
        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;
        }
示例#8
0
        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;
        }
示例#9
0
    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);

      }
    }