53 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|