public override bool Equals(object obj) { if (obj == null) { return(false); } if (ReferenceEquals(obj, this)) { return(true); } if (obj.GetType() != GetType()) { return(false); } Person person = (Person)obj; return(Rolle.Equals(person.Rolle) && Vorname.Equals(person.Vorname) && Nachname.Equals(person.Nachname) && Adresse.Equals(person.Adresse) && Geburtsdatum.Equals(person.Geburtsdatum)); }
public override bool Equals(object obj) { // Anforderungen: /* Gleicher Typ ? * Eines null ? * Referenzvergleich * Wertevergleich falls Referenzvergleich fehlschlägt */ if (obj is null) { throw new ArgumentNullException(); } if (obj is Person p) // obj.GetType() == typeof(Person) { //Referenzvergleich if (obj == this) { return(true); } else // Referenzen nicht gleich, stattdessen werte vergleichen { // "Hässliche" Variante ohne GetHashcode(); return(Vorname.Equals(p.Vorname) && Nachname.Equals(p.Nachname) && Alter.Equals(p.Alter) && Kontostand.Equals(p.Kontostand)); } } else { return(false); } }
public override int GetHashCode() { int result = Vorname.GetHashCode(); result = 31 * result + Nachname.GetHashCode(); result = 31 * result + Geburtstag.GetHashCode(); return(result); }
public override int GetHashCode() { // easy-Variante int hashcode = 0; hashcode += Vorname.GetHashCode(); hashcode += Nachname.GetHashCode(); hashcode += Alter; hashcode += Convert.ToInt32(Kontostand); return(hashcode); }
public string this[string columnName] { get { switch (columnName) { case nameof(Vorname): if (Vorname.Length <= 0 || Vorname.Length > 50) { return("Bitte geben Sie ihren Vornamen ein!"); } if (!Vorname.All(x => char.IsLetter(x))) { return("Der Vorname darf nur Buchstaben enthalten!"); } break; case nameof(Nachname): if (Nachname.Length <= 0 || Vorname.Length > 50) { return("Bitte geben Sie ihren Nachnamen ein!"); } if (!Nachname.All(x => char.IsLetter(x))) { return("Der Nachname darf nur Buchstaben enthalten!"); } break; case nameof(Geburtsdatum): if (Geburtsdatum > DateTime.Now) { return("Das Geburtsdatum darf nicht in der Zukunft liegen!"); } if (DateTime.Now.Year - Geburtsdatum.Year > 150) { return("Das Geburtsdatum darf nicht mehr als 150 Jahre in der Vergangenheit liegen!"); } break; case nameof(Lieblingsfarbe): if (Lieblingsfarbe.ToString().Equals("#00000000")) { return("Wähle eine Farbe aus!"); } break; default: break; } return(""); } }
public string this[string columnName] { get { switch (columnName) { case nameof(Vorname): if (Vorname.Length <= 0 || Vorname.Length > 50) { return("Bitte geben Sie den Vornamen ein"); } if (!Vorname.All(char.IsLetter)) { return("Der Vorname darf nur Buchstaben enthalten"); } break; case nameof(Nachname): if (Nachname.Length <= 0 || Nachname.Length > 50) { return("Bitte geben Sie den Nachnamen ein"); } if (!Nachname.All(char.IsLetter)) { return("Der Nachname darf nur Buchstaben enthalten"); } break; case nameof(Geburtsdatum): if (Geburtsdatum > DateTime.Now) { return("Das Geburtsdatum darf nicht in der Zukunft liegen"); } if (DateTime.Now.Year - Geburtsdatum.Year > 150) { return("Das Geburtsdatum darf nicht mehr als 150 Jahre in der Vergangenheit liegen"); } break; default: break; } return(""); } }
/// <summary> /// Fügt der Liste MainViewModel.Personen hinzu /// Speichert diese Werte in Datei /// </summary> private void Speichern() { // Validierung, weil wir finden, dass sonst ein Eintrag keinen Sinn macht und kein Anwendungszweck besitzt. if (String.IsNullOrWhiteSpace(Vorname) || String.IsNullOrWhiteSpace(Nachname)) { MessageBox.Show("Vorname und Nachname sind Pflichtfelder!"); return; } ObservableCollection <Person> personen = _mainViewModel.Personen; // Auslesen aus der Form, Person der Liste hinzufügen Person neuePerson = new Person(Vorname.Trim(), Nachname.Trim(), new Adresse(Plz.Trim(), Ort.Trim(), Strasse.Trim())); // Person zur Liste hinzufügen personen.Add(neuePerson); _csvController.fuegeZurDateiHinzu(neuePerson); FormReset(); }
public int CompareTo(object obj) { if (obj == null || obj.GetType() != GetType()) { return(-1); } Person person = (Person)obj; int rolleEqualRate = Rolle.CompareTo(person.Rolle); if (rolleEqualRate < 0 || rolleEqualRate > 0) { return(rolleEqualRate); } int vornameEqualRate = Vorname.CompareTo(person.Vorname); if (vornameEqualRate < 0 || vornameEqualRate > 0) { return(vornameEqualRate); } int nachnameEqualRate = Nachname.CompareTo(person.Nachname); if (nachnameEqualRate < 0 || nachnameEqualRate > 0) { return(nachnameEqualRate); } int geburtsdatumEqualRate = Geburtsdatum.CompareTo(person.Geburtsdatum); switch (geburtsdatumEqualRate) { case 0: return(Adresse.CompareTo(person.Adresse)); default: return(geburtsdatumEqualRate); } }
public override bool Equals(object obj) { if (this == obj) { return(true); } if (obj == null || GetType() != obj.GetType()) { return(false); } Person person = (Person)obj; if (!Vorname.Equals(person.Vorname)) { return(false); } if (!Nachname.Equals(person.Nachname)) { return(false); } return(Geburtstag.Equals(person.Geburtstag)); }
public string FullName() { return($"{Vorname.Trim(' ')} {Nachname.Trim(' ')}"); }