private void buttonDodaj_Click(object sender, RoutedEventArgs e) { 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) { listBoxPilkarze.Items.Add(biezacyPilkarz); Clear(); } else { var dialog = MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście {Environment.NewLine} Czy wyczyścić formularz?", "Uwaga", MessageBoxButton.OKCancel); if (dialog == MessageBoxResult.OK) { Clear(); } } } }
private void buttonUsun_Click(object sender, RoutedEventArgs e) { var biezacyPilkarz = new Pilkarz(textBoxWEPImie.Text.Trim(), textBoxWEPNazwisko.Text.Trim(), (uint)sliderWiek.Value, (uint)sliderWaga.Value); var dialog = MessageBox.Show($"{biezacyPilkarz.ToString()} zaostanie usunięty {Environment.NewLine} Jesteś tego pewien?", "Uwaga", MessageBoxButton.YesNo); if (dialog == MessageBoxResult.Yes) { listBoxPilkarze.Items.RemoveAt(listBoxPilkarze.SelectedIndex); } Clear(); listBoxPilkarze.SelectedIndex = -1; }
private void buttonEdytuj_Click(object sender, RoutedEventArgs e) { // operator logiczny & a nie podwójny operator warunkowy && //sprawdź dlaczego /* * Odpowiedź: * Użycie operatora logicznego & pozwala na to, żeby i jedna i druga strona * wyrażenia logicznego zostały sprawdzone (przykładowo: jeśli po obu stronach wywoływane są metody * to w przypadku gdyby lewa strona zwróciła fałsz to sprawdzenie prawej strony (a co za tym idzie wywołanie * metody z prawej strony) i tak się odbędzie). * Gdybyśmy natomiast użyli operatora && to w chwili gdy lewa strona zwróci fałsz sprawdzanie warunku kończy się, * a więc nie dochodzi wogóle do sprawdzenia wyniku strony prawej. */ 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ę Pilkarz edytowanyPilkarz = listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz; edytowanyPilkarz.zmianaPilkarz(biezacyPilkarz); listBoxPilkarze.Items.Refresh(); } Clear(); listBoxPilkarze.SelectedIndex = -1; } else { MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga"); } } }
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] = biezacyPilkarz; Pilkarz pilkarz = (Pilkarz)listBoxPilkarze.SelectedItem; pilkarz.Imie = biezacyPilkarz.Imie; pilkarz.Nazwisko = biezacyPilkarz.Nazwisko; pilkarz.Waga = biezacyPilkarz.Waga; pilkarz.Wiek = biezacyPilkarz.Wiek; listBoxPilkarze.Items.Refresh(); } Clear(); listBoxPilkarze.SelectedIndex = -1; } else { MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga"); } } }
private void buttonEdytuj_Click(object sender, RoutedEventArgs e) { // operator logiczny & a nie podwójny operator warunkowy && // Przy zastosowaniu pojedyńczego operatora oba warunki zostaną sprawdzone. tutaj w kodzie wywoływane są funkcję, zatem by obie się wywołały używamy pojedyńczego & //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; Pilkarz selectedPilkarz; foreach (var p in listBoxPilkarze.Items) { var pilkarz = p as Pilkarz; if (pilkarz.isTheSame(biezacyPilkarz)) { selectedPilkarz = pilkarz; 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ę Pilkarz nowaReferencja = listBoxPilkarze.Items[listBoxPilkarze.SelectedIndex] as Pilkarz; nowaReferencja.footBallerReplacer(textBoxWEPImie.Text.Trim(), textBoxWEPNazwisko.Text.Trim(), (uint)sliderWiek.Value, (uint)sliderWaga.Value); listBoxPilkarze.Items.Refresh(); } Clear(); listBoxPilkarze.SelectedIndex = -1; } else { MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga"); } } }
private void buttonEdytuj_Click(object sender, RoutedEventArgs e) { // operator logiczny & a nie podwójny operator warunkowy && //sprawdź dlaczego //dzięki użyciu pojedynczego operatora "&" mamy pewność, że obydwa warunki zostaną sprawdzone //nawet jeżeli pierwszy warunek bedzie równy "False". 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) { ((Pilkarz)listBoxPilkarze.SelectedItem).ChangeData(biezacyPilkarz); Reload(); } Clear(); listBoxPilkarze.SelectedIndex = -1; } else { MessageBox.Show($"{biezacyPilkarz.ToString()} już jest na liście.", "Uwaga"); } } }