Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public MainWindowViewModel()
- {
- this.Abfrage = new DelegateCommand(
- (o) => string.IsNullOrWhiteSpace(PersData.Vorname),
- (o) =>
- {
- NeuerDatensatz = false;
- Personendatenliste.Clear();
- Datenabfrage();
- });
- this.Speichern = new DelegateCommand(
- (o) =>
- {
- Datenspeichern();
- });
- this.NeueAdresse = new DelegateCommand(
- (o) =>
- {
- NeuerDatensatz = true; LoadnewData();
- });
- //Searchable = Personendatenliste;
- Listable = new CollectionViewSource();
- Listable.Source = this.Personendatenliste;
- Listable.Filter += ApplyFilter;
- Adresstypenliste.Add(new Adresstypen { Adresstyp = string.Empty, ID_Adresstyp = null });
- /* Diese 3 Methoden wurden von der Property PersData ausgelagert in den Konstruktor, da diese nur einmalig benötigt werden.
- * auch wäre hierfür ein Enum möglich.
- */
- Adresstypenabfrage();
- Telefontypabfrage();
- Mailtypabfrage();
- }
- /// <summary>
- /// Hier ist die größte Änderung geschehen.
- /// der getter wird erweitert, sodass er nur noch einmalig ein Object erzeugt.
- /// im setter wird die Property AddTyp vorgesetzt.
- /// Aus der Adressliste wird der Erste oder ein Default wert gezogen.
- /// mit der Lambda-expression wird angegeben, welcher Wert dies sein soll.
- /// </summary>
- private Adressdaten selectedAdressItem;
- public Adressdaten SelectedAdressItem
- {
- get
- {
- if (selectedAdressItem is null)
- {
- selectedAdressItem = new();
- }
- return selectedAdressItem;
- }
- set
- {
- if (value != selectedAdressItem)
- {
- selectedAdressItem = value;
- AddTyp = Adresstypenliste.FirstOrDefault(x => x.ID_Adresstyp == SelectedAdressItem.ID_AdressTyp);
- //RaisePropertyChanged(nameof(AddTyp.Adresstyp));
- RaisePropertyChanged();
- ChangeAdressData = true;
- }
- }
- }
- private Adresstypen addtyp;
- public Adresstypen AddTyp
- {
- get
- {
- if (addtyp is null)
- {
- addtyp = new();
- }
- return addtyp;
- }
- set
- {
- if (value != addtyp)
- {
- addtyp = value;
- SelectedAdressItem.AdressTyp = AddTyp.Adresstyp;
- RaisePropertyChanged();
- RaisePropertyChanged(nameof(Adresstypenliste));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement