示例#1
0
        //nadpisujemy plik archiwum przy zamknięciu okna
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            int n = listBoxPilkarze.Items.Count;

            Pilkarz[] pilkarze = null;
            if (n > 0)
            {
                pilkarze = new Pilkarz[n];
                int index = 0;
                foreach (var o in listBoxPilkarze.Items)
                {
                    pilkarze[index++] = o as Pilkarz;
                }
                Archiwizacja.ZapisPilkarzyDoPliku(plikArchiwizacji, pilkarze);
            }
        }
示例#2
0
 public static Pilkarz[] CzytajPilkarzyZPliku(string plik)
 {
     Pilkarz[] pilkarze = null;
     if (File.Exists(plik))
     {
         var sPilkarze = File.ReadAllLines(plik);
         var n         = sPilkarze.Length;
         if (n > 0)
         {
             pilkarze = new Pilkarz[n];
             for (int i = 0; i < n; i++)
             {
                 pilkarze[i] = Pilkarz.CreateFromString(sPilkarze[i]);
             }
             return(pilkarze);
         }
     }
     return(pilkarze);
 }
示例#3
0
 //sprawdza czy obiekt ma ten sam stan co bieżąca instancja
 public bool isTheSame(Pilkarz pilkarz)
 {
     if (pilkarz.Nazwisko != Nazwisko)
     {
         return(false);
     }
     if (pilkarz.Imie != Imie)
     {
         return(false);
     }
     if (pilkarz.Wiek != Wiek)
     {
         return(false);
     }
     if (pilkarz.Waga != Waga)
     {
         return(false);
     }
     return(true);
 }
示例#4
0
        private void buttonEdytuj_Click(object sender, RoutedEventArgs e)
        {
            // operator logiczny & a nie podwójny operator warunkowy &&
            //sprawdź dlaczego
            if (IsNotEmpty(textBoxWEPImie) & IsNotEmpty(textBoxWEPNazwisko))
            {
                var biezacyPilkarz     = new Pilkarz(textBoxWEPImie.Text.Trim(), textBoxWEPNazwisko.Text.Trim(), (uint)sliderWiek.Value, (uint)sliderWaga.Value);
                var czyJuzJestNaLiscie = false;
                foreach (var p in listBoxPilkarze.Items)
                {
                    var pilkarz = p as Pilkarz;
                    if (pilkarz.isTheSame(biezacyPilkarz))
                    {
                        czyJuzJestNaLiscie = true;
                        break;
                    }
                }
                if (!czyJuzJestNaLiscie)
                {
                    var dialogResult = MessageBox.Show($"Czy na pewno chcesz zmienić dane  {Environment.NewLine}{listBoxPilkarze.SelectedItem}?", "Edycja", MessageBoxButton.YesNo);

                    if (dialogResult == MessageBoxResult.Yes)
                    {
                        //zamiana refernecji do obiektu piłkarza edytowanego
                        //zmień implementację tak aby zmieniać stan obiektu a nie podmieniać referencję
                        (listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz).Imie     = textBoxWEPImie.Text;
                        (listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz).Nazwisko = textBoxWEPNazwisko.Text;
                        (listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz).Wiek     = (uint)sliderWiek.Value;
                        (listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz).Waga     = (uint)sliderWaga.Value;
                    }
                    Clear();
                    listBoxPilkarze.SelectedIndex = -1;
                }
                else
                {
                    MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga");
                }
            }
        }