Durchlaufene Menu erzeugt

This commit is contained in:
HuskyTeufel
2022-05-30 17:04:24 +02:00
parent 455f57fd35
commit 7bf5d1ad05
16 changed files with 303 additions and 22 deletions

View File

@@ -1,8 +1,10 @@
using DichtheitManagement.Contract;
using Mappings;
using Models;
using Ninject;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -10,20 +12,28 @@ using System.Windows.Input;
namespace GuiWPF.ViewModel
{
enum MenuEntries
{
AUFTRAGGEBER = 0,
BAUVORHABEN = 1,
INSPEKTIONSOBJEKTE = 2
}
public class MainWindowViewModel : ViewModelBase
{
private MenuEntries _selectedMenu;
public ICommand LoadHomePageCommand { get; private set; }
public ICommand LoadSettingsPageCommand { get; private set;}
public ICommand LoadAuftraggeberListPageCommand { get; private set; }
public ICommand LoadEditAuftraggeberPageCommand { get; private set; }
public ICommand AddNewInspektionsObjektCommand { get; private set; }
public ICommand NextMenuEntriePageCommand { get; set; }
private Models.Auftraggeber _selectedAuftraggeber;
private Models.Bauvorhaben _selectedBauvorhaben;
private Models.Inspektionsobjekt _selectedsewerobject;
public List<Models.Auftraggeber> AuftraggeberListe { get => auftraggeberlist.ToList(); }
public List<Models.Bauvorhaben> BauvorhabenListe
{
get
@@ -76,8 +86,6 @@ namespace GuiWPF.ViewModel
{
_selectedAuftraggeber = value;
OnPropertyChanged();
BauvorhabenListe.Clear();
BauvorhabenListe = baustellenManager.GetBauvorhaben(SelectedAuftraggeber);
}
}
}
@@ -97,6 +105,7 @@ namespace GuiWPF.ViewModel
}
private ViewModelBase _currentViewModel;
private ViewModelBase _aktuellmenu;
private IQueryable<Models.Auftraggeber> auftraggeberlist = null;
private IAuftraggeberManager auftraggeberManager = null;
@@ -113,25 +122,79 @@ namespace GuiWPF.ViewModel
}
}
public ViewModelBase AktuellMenu
{
get => _aktuellmenu;
set
{
_aktuellmenu = value;
OnPropertyChanged();
}
}
void SetMenu(MenuEntries newMenu)
{
switch(newMenu)
{
case MenuEntries.AUFTRAGGEBER:
AktuellMenu = new AuftraggeberListPageViewModel(kernel);
_selectedMenu = MenuEntries.AUFTRAGGEBER;
break;
case MenuEntries.BAUVORHABEN:
AktuellMenu = new BauvorhabenListPageViewModel(kernel,SelectedAuftraggeber);
_selectedMenu = MenuEntries.BAUVORHABEN;
break;
case MenuEntries.INSPEKTIONSOBJEKTE:
AktuellMenu = new SewerObjectListPageViewModel(kernel, SelectedBauvorhaben, this);
_selectedMenu = MenuEntries.INSPEKTIONSOBJEKTE;
break;
}
}
public MainWindowViewModel()
{
this.LoadHomePage();
this.LoadAuftraggeberListPageCommand = new DelegateCommand(o => this.LoadAuftraggeberListPage());
this.LoadEditAuftraggeberPageCommand = new DelegateCommand(o => this.LoadAuftraggeberEditPage());
this.LoadHomePageCommand = new DelegateCommand(o => this.LoadHomePage());
this.LoadSettingsPageCommand = new DelegateCommand(o => this.LoadSettingsPage());
this.AddNewInspektionsObjektCommand = new DelegateCommand(o => this.AddNewInspektionsObjekt());
this.NextMenuEntriePageCommand = new DelegateCommand(o => this.NextMenuEntrie());
kernel = new StandardKernel();
new KernelInitializer().Initialize(kernel);
auftraggeberManager = kernel.Get<IAuftraggeberManager>();
/*auftraggeberManager = kernel.Get<IAuftraggeberManager>();
baustellenManager = kernel.Get<IBaustelleManager>();
auftraggeberlist = auftraggeberManager.GetAllAuftraggeber();
auftraggeberlist = auftraggeberManager.GetAllAuftraggeber();*/
SetMenu(MenuEntries.AUFTRAGGEBER);
}
private void NextMenuEntrie()
{
switch(_selectedMenu)
{
case MenuEntries.AUFTRAGGEBER:
SelectedAuftraggeber = (AktuellMenu as AuftraggeberListPageViewModel).SelectedAuftraggeber;
SetMenu(MenuEntries.BAUVORHABEN);
break;
case MenuEntries.BAUVORHABEN:
SelectedBauvorhaben = (AktuellMenu as BauvorhabenListPageViewModel).SelectedBauvorhaben;
SetMenu(MenuEntries.INSPEKTIONSOBJEKTE);
break;
case MenuEntries.INSPEKTIONSOBJEKTE:
break;
}
}
private void AddNewInspektionsObjekt()
{
if (SelectedBauvorhaben.Prüfobjekte == null)
@@ -164,7 +227,7 @@ namespace GuiWPF.ViewModel
private void LoadAuftraggeberListPage()
{
CurrentViewModel = new AuftraggeberListPageViewModel(auftraggeberManager);
//CurrentViewModel = new AuftraggeberListPageViewModel(auftraggeberManager);
}
}
}