AuftraggeberListview intial

This commit is contained in:
2023-07-03 19:15:57 +02:00
parent 287c7aaa0a
commit 33f9da3798
16 changed files with 184 additions and 27 deletions

View File

@@ -11,7 +11,7 @@ using System.Windows.Input;
namespace StammGenerator.ViewModel
{
class AuftraggeberEditViewModel : BaseViewModel
class AuftraggeberEditFrmViewModel : BaseViewModel
{
Auftraggeber _model;
public string Name
@@ -110,7 +110,7 @@ namespace StammGenerator.ViewModel
base.OnPropertyChanged(propertyName);
}
public AuftraggeberEditViewModel(Auftraggeber model, IAuftraggeberDataService auftraggeberDataService)
public AuftraggeberEditFrmViewModel(Auftraggeber model, IAuftraggeberDataService auftraggeberDataService)
{
_model = model;
_auftraggeberDataService = auftraggeberDataService;

View File

@@ -0,0 +1,52 @@
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);
}
}
}
}

View File

@@ -17,6 +17,7 @@ namespace StammGenerator.ViewModel.Factories
private CreateViewModel<HaltungListViewModel> _createHaltungListViewModel;
//private CreateViewModel<SewerConnectorViewModel> _createSewerConnectorViewModel;
private CreateViewModel<ProjektListViewModel> _createProjektListViewModel;
private CreateViewModel<AuftraggeberListViewModel> _createAuftraggeberListViewModel;
public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
@@ -24,7 +25,8 @@ namespace StammGenerator.ViewModel.Factories
CreateViewModel<ManholeListViewModel> createManholeListViewModel,
CreateViewModel<HaltungListViewModel> createHaltungListViewModel,
CreateViewModel<ProjektListViewModel> createProjektListViewModel
CreateViewModel<ProjektListViewModel> createProjektListViewModel,
CreateViewModel<AuftraggeberListViewModel> createAuftraggeberListViewModel
)
{
_createHomeViewModel = createHomeViewModel;
@@ -33,6 +35,7 @@ namespace StammGenerator.ViewModel.Factories
_createProjektListViewModel = createProjektListViewModel;
_createManholeListViewModel = createManholeListViewModel;
_createHaltungListViewModel = createHaltungListViewModel;
_createAuftraggeberListViewModel = createAuftraggeberListViewModel;
}
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
@@ -49,6 +52,8 @@ namespace StammGenerator.ViewModel.Factories
case EMainWindowViewType.ProjectList: return _createProjektListViewModel();
case EMainWindowViewType.AuftraggeberList: return _createAuftraggeberListViewModel();
default:
throw new NotImplementedException();
}

View File

@@ -112,7 +112,7 @@ namespace StammGenerator.ViewModel
private void ChangeAuftraggeber()
{
var win = new AuftraggeberShow();
win.DataContext = new AuftraggeberEditViewModel(_model.Auftraggeber, _auftraggeberDataService);
win.DataContext = new AuftraggeberEditFrmViewModel(_model.Auftraggeber, _auftraggeberDataService);
win.Closed += AuftraggeberWin_Closed;
win.ShowDialog();
@@ -122,7 +122,7 @@ namespace StammGenerator.ViewModel
{
AuftraggeberShow? shw = sender as AuftraggeberShow;
if (shw == null) return;
AuftraggeberEditViewModel? mdl = shw.DataContext as AuftraggeberEditViewModel;
AuftraggeberEditFrmViewModel? mdl = shw.DataContext as AuftraggeberEditFrmViewModel;
if (mdl == null) return;
if (mdl.SelectedAuftraggber == null) return;