예제 #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;
                }

                ZapisOdczytDoPliku.ZapisPilkarzyDoPliku(plikArchiwizacji, pilkarze);
            }
        }
예제 #2
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(), (ushort)sliderWiek.Value, (ushort)sliderWaga.Value);
                var czyJuzJestNaLiscie = false;
                foreach (var p in listBoxPilkarze.Items)
                {
                    var pilkarz = p as Pilkarz;
                    if (pilkarz.CzyJestTenSam(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] = biezacyPilkarz;
                        var zawodnik = listBoxPilkarze.SelectedItem as Pilkarz;
                        zawodnik.Imie     = textBoxWEPImie.Text.Trim();
                        zawodnik.Nazwisko = textBoxWEPNazwisko.Text.Trim();
                        zawodnik.Waga     = (ushort)sliderWaga.Value;
                        zawodnik.Wiek     = (ushort)sliderWiek.Value;
                        listBoxPilkarze.Items.Refresh();
                    }
                    Clear();
                    listBoxPilkarze.SelectedIndex = -1;
                }
                else
                {
                    MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga");
                }
            }
        }
예제 #3
0
        public static Pilkarz[] OdczytPilkarzyZPliku(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);
        }
예제 #4
0
        //Sprawdzenie czy obiekt ma ten sam stan co biezaca instancja
        public bool CzyJestTenSam(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);
        }