Beispiel #1
0
        private void btnSaveToDatabase_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Pelaaja player = (Pelaaja)spPlayer.DataContext;

                if (player.id == 0)
                {
                    btnNew_Click(this, null);
                    return;
                }

                player.seura = cboTeam.SelectedValue.ToString();

                if (HasDetailsErrors(player))
                {
                    return;                   // Tarkistetaan kenttien arvoja
                }
                ctx.SaveChanges();

                ctx.Pelaajat.Load();
                lstPlayers.DataContext   = ctx.Pelaajat.OrderBy(p => p.seura).ThenBy(p => p.etunimi).ThenBy(p => p.sukunimi).ToList();
                lstPlayers.SelectedIndex = lstPlayers.Items.IndexOf(player);
                lstPlayers.ScrollIntoView(lstPlayers.SelectedItem);

                lblInfo.Text = string.Format("Pelaajan {0} muutetut tiedot on tallennettu kantaan", player.Kokonimi);
            }
            catch (Exception ex)
            {
                lblInfo.Text = "Tietokantaan tallennus ei onnistunut: " + ex.Message;
            }
        }
Beispiel #2
0
        private bool HasDetailsErrors(Pelaaja player)
        {
            bool    errors  = false;
            string  message = "";
            TextBox txt     = null;

            if (string.IsNullOrWhiteSpace(player.etunimi))
            {
                txt     = txtFirstName;
                message = "etunimi puuttuu";
                errors  = true;
            }

            if (string.IsNullOrWhiteSpace(player.sukunimi))
            {
                txt     = txtLastName;
                message = "sukunimi puuttuu";
                errors  = true;
            }

            if (player.arvo < 0)
            {
                throw new Exception("siirtosumma ei voi olla negatiivinen!");
            }

            if (errors)
            {
                MessageBox.Show(string.Format("Ei voi tallentaa koska {0}!", message));
                txt.Focus();
            }

            return(errors);
        }
Beispiel #3
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Pelaaja current = (Pelaaja)spPlayer.DataContext;

                MessageBoxResult result = MessageBox.Show(
                    string.Format("Haluatko varmasti poistaa pelaajan {0} tiedot?", current.Kokonimi), "Poiston varmistus",
                    MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);

                if (result == MessageBoxResult.Yes)
                {
                    ctx.Pelaajat.Remove(current);
                    ctx.SaveChanges();
                    ctx.Pelaajat.Load();
                    lstPlayers.DataContext = ctx.Pelaajat.OrderBy(p => p.seura).ThenBy(p => p.etunimi).ThenBy(p => p.sukunimi).ToList();

                    lblInfo.Text = string.Format("Pelaaja {0} on poistettu", current.Kokonimi);
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
Beispiel #4
0
 private void btnNewPlayer_Click(object sender, RoutedEventArgs e)
 {
     try {
         if (!string.IsNullOrWhiteSpace(txtFirstname.Text) && !string.IsNullOrWhiteSpace(txtLastname.Text) &&
             !string.IsNullOrWhiteSpace(txtPrice.Text) && cbTeam.SelectedItem != null)
         {
             if (Regex.IsMatch(txtFirstname.Text, @"^[a-zA-Z]+$") && Regex.IsMatch(txtLastname.Text, @"^[a-zA-Z]+$"))
             {
                 Pelaaja pelaaja = new Pelaaja(txtFirstname.Text, txtLastname.Text, int.Parse(txtPrice.Text), cbTeam.SelectedValue.ToString());
                 if (pelaajat.Exists(Pelaaja => Pelaaja.Fullname == pelaaja.Fullname))
                 {
                     pelaaja       = null;
                     tbStatus.Text = "Tila: Pelaaja on jo listassa!";
                 }
                 else
                 {
                     pelaajat.Add(pelaaja);
                     ApplyChanges();
                     tbStatus.Text = "Tila: Pelaajan luonti onnistui!";
                 }
             }
             else
             {
                 tbStatus.Text = "Tila: Merkkijono on väärässä muodossa.";
             }
         }
         else
         {
             tbStatus.Text = "Tila: Jokin kenttä jäi tyhjäksi.";
         }
     } catch (Exception ex) {
         tbStatus.Text = "Tila: Merkkijono on väärässä muodossa.";
     }
 }
Beispiel #5
0
        private void lstPlayers_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Jos pelaajan nimeä napsautetaan listboxissa, niin pelaajan kaikki tiedot kirjoitetaan vasemmalla oleviin tekstikenttiin tietojen muokkausta varten
            Pelaaja player = (Pelaaja)lstPlayers.SelectedItem;

            spPlayer.DataContext  = player;
            cboTeam.SelectedValue = player.seura;
            lblInfo.Text          = string.Format("Valittu pelaaja: {0}", player.Kokonimi);
        }
Beispiel #6
0
 private void btnWritePlayers_Click(object sender, RoutedEventArgs e)
 {
     try {
         Pelaaja.WriteToFile(pelaajat);
         tbStatus.Text = "Tila: Pelaajat kirjoitettu tiedostoon.";
     } catch (Exception ex) {
         tbStatus.Text = "Tila: " + ex.ToString();
     }
 }
Beispiel #7
0
 private void btnReadPlayers_Click(object sender, RoutedEventArgs e)
 {
     try {
         var kaikki = pelaajat.Concat(Pelaaja.ReadFromFile()).ToList();
         pelaajat            = kaikki;
         listBox.ItemsSource = null;
         listBox.ItemsSource = pelaajat;
         tbStatus.Text       = "Tila: Pelaajat haettu tiedostosta.";
     } catch (Exception ex) {
         tbStatus.Text = "Tila: Haku peruttu tai haussa tapahtui virhe.";
     }
 }
        private void btnNewPlayer_Click(object sender, RoutedEventArgs e) {
            try {
                if (!string.IsNullOrWhiteSpace(txtFirstname.Text) && !string.IsNullOrWhiteSpace(txtLastname.Text)
                    && !string.IsNullOrWhiteSpace(txtPrice.Text) && cbTeam.SelectedItem != null) {

                    Pelaaja pelaaja = new Pelaaja(txtFirstname.Text, txtLastname.Text, int.Parse(txtPrice.Text), cbTeam.SelectedValue.ToString());
                    if (pelaajat.Exists(Pelaaja => Pelaaja.Fullname == pelaaja.Fullname)) {
                        pelaaja = null;
                        tbStatus.Text = "Tila: Pelaaja on jo listassa!";
                    } else {
                        pelaajat.Add(pelaaja);
                        ApplyChanges();
                        tbStatus.Text = "Tila: Pelaajan luonti onnistui!";
                    }
                } else {
                    tbStatus.Text = "Tila: Jokin kenttä jäi tyhjäksi!";
                }
            } catch (Exception ex) {
                tbStatus.Text = "Tila: " + ex.ToString();
            }
        }
Beispiel #9
0
        private void btnNew_Click(object sender, RoutedEventArgs e)
        {
            // Luodaan uusi Pelaaja-olio ensin kontextiin ja sitten tietokantaan
            Pelaaja newPlayer;

            if (btnNew.Content.ToString() == "Luo uusi pelaaja")
            {
                newPlayer             = new Pelaaja();
                spPlayer.DataContext  = newPlayer;
                btnNew.Content        = "Tallenna kantaan";
                cboTeam.SelectedIndex = 0;
                txtFirstName.Focus();
                lblInfo.Text = "Uuden pelaajan lisäys";
            }
            else
            {
                try
                {
                    newPlayer = (Pelaaja)spPlayer.DataContext;
                    if (HasDetailsErrors(newPlayer))
                    {
                        return;                    // Tarkistetaan kenttien arvoja
                    }
                    newPlayer.seura = cboTeam.SelectedValue.ToString();
                    ctx.Pelaajat.Add(newPlayer);
                    ctx.SaveChanges();

                    ctx.Pelaajat.Load();
                    lstPlayers.DataContext   = ctx.Pelaajat.OrderBy(p => p.seura).ThenBy(p => p.etunimi).ThenBy(p => p.sukunimi).ToList();
                    lstPlayers.SelectedIndex = lstPlayers.Items.IndexOf(newPlayer);
                    lstPlayers.ScrollIntoView(lstPlayers.SelectedItem);
                    btnNew.Content = "Luo uusi pelaaja";
                    lblInfo.Text   = string.Format("Uusi pelaaja {0} lisätty kantaan", newPlayer.Kokonimi);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }