146 lines
4.0 KiB
C#
146 lines
4.0 KiB
C#
using SewerStammGen.Shared.Contracts;
|
|
using SewerStammGen.Shared.Domain;
|
|
using Shared.Contracts;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Input;
|
|
|
|
namespace StammGenerator.ViewModel
|
|
{
|
|
class AuftraggeberEditViewModel : BaseViewModel
|
|
{
|
|
Auftraggeber _model;
|
|
public string Name
|
|
{
|
|
get => _model.Name;
|
|
set
|
|
{
|
|
if(_model.Name != value)
|
|
{
|
|
_model.Name = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
public string Strasse
|
|
{
|
|
get => _model.Strasse;
|
|
set
|
|
{
|
|
if(_model.Strasse != value)
|
|
{
|
|
_model.Strasse = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
public string Ort
|
|
{
|
|
get => _model.Ort;
|
|
set
|
|
{
|
|
if(_model.Ort != value)
|
|
{
|
|
_model.Ort = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
public string Postleitzahl
|
|
{
|
|
get => _model.Postleitzahl;
|
|
set
|
|
{
|
|
if(_model.Postleitzahl != value)
|
|
{
|
|
_model.Postleitzahl = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
public string Telefonnummer
|
|
{
|
|
get => _model.Telefonnummer;
|
|
set
|
|
{
|
|
if(_model.Telefonnummer != value)
|
|
{
|
|
_model.Telefonnummer = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
public string Ansprechpartner
|
|
{
|
|
get => _model.Ansprechpartner;
|
|
set
|
|
{
|
|
if(_model.Ansprechpartner != value)
|
|
{
|
|
_model.Ansprechpartner = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public Auftraggeber? SelectedAuftraggber { get; set; } = null;
|
|
|
|
public ICommand ApplyCommand { get; set; }
|
|
|
|
private readonly IAuftraggeberDataService _auftraggeberDataService;
|
|
|
|
private IList<Auftraggeber> verfuegbareAuftraggeber = new List<Auftraggeber>();
|
|
public IList<Auftraggeber> VerfuegbareAuftraggeber
|
|
{
|
|
get => verfuegbareAuftraggeber;
|
|
set
|
|
{
|
|
verfuegbareAuftraggeber = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
protected override void OnPropertyChanged([CallerMemberName] string? propertyName = null)
|
|
{
|
|
_model.DataChanged = true;
|
|
base.OnPropertyChanged(propertyName);
|
|
}
|
|
|
|
public AuftraggeberEditViewModel(Auftraggeber model, IAuftraggeberDataService auftraggeberDataService)
|
|
{
|
|
_model = model;
|
|
_auftraggeberDataService = auftraggeberDataService;
|
|
ApplyCommand = new RelayCommand((x) => this.Apply());
|
|
|
|
|
|
LoadAuftraggebers();
|
|
}
|
|
|
|
private void Apply()
|
|
{
|
|
if (SelectedAuftraggber == null) return;
|
|
_model = SelectedAuftraggber;
|
|
OnPropertyChanged(nameof(Name));
|
|
OnPropertyChanged(nameof(Strasse));
|
|
OnPropertyChanged(nameof(Ort));
|
|
OnPropertyChanged(nameof(Postleitzahl));
|
|
OnPropertyChanged(nameof(Telefonnummer));
|
|
OnPropertyChanged(nameof(Ansprechpartner));
|
|
}
|
|
|
|
private async void LoadAuftraggebers()
|
|
{
|
|
VerfuegbareAuftraggeber.Clear();
|
|
IEnumerable<Auftraggeber> s = await _auftraggeberDataService.GetAll();
|
|
VerfuegbareAuftraggeber = s.ToList();
|
|
OnPropertyChanged(nameof(VerfuegbareAuftraggeber));
|
|
|
|
}
|
|
}
|
|
|
|
}
|