using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using StammGenerator.Commands; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace StammGenerator.ViewModel { public class AuftraggeberListViewModel : BaseViewModel { private readonly ObservableCollection _auftraggeber; private readonly IAuftraggeberDataService _auftraggeberDataService; public Auftraggeber? SelectedAuftraggeber { get; set; } public ObservableCollection Auftraggeber { get => _auftraggeber; } public ICommand AddCommand { get; set; } public ICommand EditCommand { get; set; } public AuftraggeberListViewModel(IAuftraggeberDataService auftraggeberDataService) { _auftraggeber = new ObservableCollection(); _auftraggeberDataService = auftraggeberDataService; AddCommand = new AuftraggeberAddCommand(); EditCommand = new AuftraggeberEditCommand(); LoadAuftraggeber(); } private async void LoadAuftraggeber() { var auftraggeber = await _auftraggeberDataService.GetAll(); InitCollection(_auftraggeber, auftraggeber); } private void InitCollection(ObservableCollection dest, IEnumerable source) { dest.Clear(); foreach(var sourceItem in source) { dest.Add(sourceItem); } } } }