Files
SewerGenerator/StammGenerator/ViewModel/Auftraggeber/AuftraggeberListViewModel.cs

53 lines
1.6 KiB
C#

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> _auftraggeber;
private readonly IAuftraggeberDataService _auftraggeberDataService;
public Auftraggeber? SelectedAuftraggeber { get; set; }
public ObservableCollection<Auftraggeber> Auftraggeber { get => _auftraggeber; }
public ICommand AddCommand { get; set; }
public ICommand EditCommand { get; set; }
public AuftraggeberListViewModel(IAuftraggeberDataService auftraggeberDataService)
{
_auftraggeber = new ObservableCollection<Auftraggeber>();
_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<Auftraggeber> dest, IEnumerable<Auftraggeber> source)
{
dest.Clear();
foreach(var sourceItem in source)
{
dest.Add(sourceItem);
}
}
}
}