Durchlaufene Menu erzeugt
This commit is contained in:
2
DataGen
2
DataGen
Submodule DataGen updated: 6ac7c63d51...f963a7170c
15
DichtheitManagement.Contract/IInspektionsObjectManager.cs
Normal file
15
DichtheitManagement.Contract/IInspektionsObjectManager.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DichtheitManagement.Contract
|
||||
{
|
||||
public interface IInspektionsObjectManager
|
||||
{
|
||||
void Add(Inspektionsobjekt inspektionsobjekt);
|
||||
List<Inspektionsobjekt> GetInspektionsobjekt(Bauvorhaben bauvorhaben);
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ namespace DichtheitManagement
|
||||
|
||||
public IQueryable<Auftraggeber> GetAllAuftraggeber()
|
||||
{
|
||||
return _repository.Get(includeProperties: "Baustellen,Baustellen.Prüfobjekte").Where(p => p.Id >= 0);
|
||||
return _repository.Get().Where(p => p.Id >= 0);
|
||||
}
|
||||
|
||||
public void Update(Auftraggeber update)
|
||||
|
||||
29
DichtheitManagement/InspektionsObjectManager.cs
Normal file
29
DichtheitManagement/InspektionsObjectManager.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using DataStoring.Contract;
|
||||
using DichtheitManagement.Contract;
|
||||
using Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DichtheitManagement
|
||||
{
|
||||
public class InspektionsObjectManager : IInspektionsObjectManager
|
||||
{
|
||||
private readonly IRepository<Inspektionsobjekt> _repository;
|
||||
public InspektionsObjectManager(IRepository<Inspektionsobjekt> repository)
|
||||
{
|
||||
_repository = repository;
|
||||
}
|
||||
public void Add(Inspektionsobjekt inspektionsobjekt)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public List<Inspektionsobjekt> GetInspektionsobjekt(Bauvorhaben bauvorhaben)
|
||||
{
|
||||
return _repository.Get().Where(s => s.Bauvorhaben == bauvorhaben).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,9 +11,15 @@
|
||||
<Compile Update="Views\BauvorhabenEditPageView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Views\BauvorhabenListPageView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Views\SewerObjectDetailsPageView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Views\SewerObjectListPageView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="Views\AuftraggeberListPageView.xaml">
|
||||
@@ -25,8 +31,14 @@
|
||||
<Page Update="Views\BauvorhabenEditPageView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Views\BauvorhabenListPageView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Views\SewerObjectDetailsPageView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Views\SewerObjectListPageView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -15,9 +15,17 @@
|
||||
<DataTemplate DataType="{x:Type viewmodel:SettingsPageViewModel}">
|
||||
<views:SettingsPageView />
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate DataType="{x:Type viewmodel:AuftraggeberListPageViewModel}">
|
||||
<views:AuftraggeberListPageView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewmodel:BauvorhabenListPageViewModel}">
|
||||
<views:BauvorhabenListPageView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewmodel:SewerObjectListPageViewModel}">
|
||||
<views:SewerObjectListPageView />
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate DataType="{x:Type viewmodel:AuftraggeberEditPageViewModel}">
|
||||
<views:AuftraggeberEditPage />
|
||||
</DataTemplate>
|
||||
@@ -33,9 +41,14 @@
|
||||
<Button Content="Settings Page" Command="{Binding Path=LoadSettingsPageCommand}" />
|
||||
<Button Content="Neue Prüfobjekt hinzufügen" Command="{Binding Path=AddNewInspektionsObjektCommand}" />
|
||||
</StackPanel>
|
||||
<ListBox Name="Auftraggeber" ItemsSource="{Binding Path=AuftraggeberListe}" SelectedItem="{Binding Path=SelectedAuftraggeber}" />
|
||||
<StackPanel DockPanel.Dock="Left" Width="306">
|
||||
<Button Content="Next" Command="{Binding Path=NextMenuEntriePageCommand}" />
|
||||
<Button Content="Back" />
|
||||
<ContentControl Content="{Binding Path=AktuellMenu}" />
|
||||
</StackPanel>
|
||||
<!--<ListBox Name="Auftraggeber" ItemsSource="{Binding Path=AuftraggeberListe}" SelectedItem="{Binding Path=SelectedAuftraggeber}" />
|
||||
<ListBox Name="Baustellen" ItemsSource="{Binding Path=BauvorhabenListe}" SelectedItem="{Binding Path=SelectedBauvorhaben}" />
|
||||
<ListBox Name="Prüfobjekte" ItemsSource="{Binding Path=InspektionsobjekteListe}" SelectedItem="{Binding Path=SelectedSewerObject}" />
|
||||
<ListBox Name="Prüfobjekte" ItemsSource="{Binding Path=InspektionsobjekteListe}" SelectedItem="{Binding Path=SelectedSewerObject}" />-->
|
||||
<ContentControl Content="{Binding Path=CurrentViewModel}" />
|
||||
</DockPanel>
|
||||
</Window>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using Models;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -10,22 +12,18 @@ namespace GuiWPF.ViewModel
|
||||
public class AuftraggeberListPageViewModel : ViewModelBase
|
||||
{
|
||||
private IAuftraggeberManager auftraggeberManager;
|
||||
private StandardKernel kernel;
|
||||
|
||||
public Auftraggeber SelectedAuftraggeber { get; set; }
|
||||
|
||||
public List<Models.Auftraggeber> Auftraggeberlist { get; set; }
|
||||
/*public AuftraggeberListPageViewModel(IQueryable<Models.Auftraggeber> auftraggeberlist)
|
||||
|
||||
|
||||
public AuftraggeberListPageViewModel(StandardKernel kernel)
|
||||
{
|
||||
|
||||
Auftraggeberlist = auftraggeberlist.ToList();
|
||||
Auftraggeberlist.Last().Name = "Damian";
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
public AuftraggeberListPageViewModel(IAuftraggeberManager auftraggeberManager)
|
||||
{
|
||||
this.auftraggeberManager = auftraggeberManager;
|
||||
this.kernel = kernel;
|
||||
auftraggeberManager = kernel.Get<IAuftraggeberManager>();
|
||||
Auftraggeberlist = auftraggeberManager.GetAllAuftraggeber().ToList();
|
||||
//Auftraggeberlist.Last().Name = "Damian";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
23
GuiWPF/ViewModel/BauvorhabenListPageViewModel.cs
Normal file
23
GuiWPF/ViewModel/BauvorhabenListPageViewModel.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using Models;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
internal class BauvorhabenListPageViewModel : ViewModelBase
|
||||
{
|
||||
public List<Bauvorhaben> BauvorhabenList { get; set; }
|
||||
public Bauvorhaben SelectedBauvorhaben { get; set; }
|
||||
|
||||
public BauvorhabenListPageViewModel(StandardKernel kernel,Auftraggeber auftraggeber)
|
||||
{
|
||||
var BauvorhabenManager = kernel.Get<IBaustelleManager>();
|
||||
BauvorhabenList = BauvorhabenManager.GetBauvorhaben(auftraggeber);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,23 +122,77 @@ 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()
|
||||
@@ -164,7 +227,7 @@ namespace GuiWPF.ViewModel
|
||||
|
||||
private void LoadAuftraggeberListPage()
|
||||
{
|
||||
CurrentViewModel = new AuftraggeberListPageViewModel(auftraggeberManager);
|
||||
//CurrentViewModel = new AuftraggeberListPageViewModel(auftraggeberManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
47
GuiWPF/ViewModel/SewerObjectListPageViewModel.cs
Normal file
47
GuiWPF/ViewModel/SewerObjectListPageViewModel.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using Models;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
internal class SewerObjectListPageViewModel : ViewModelBase
|
||||
{
|
||||
private StandardKernel kernel;
|
||||
private Bauvorhaben selectedBauvorhaben;
|
||||
private MainWindowViewModel mainWindowViewModel;
|
||||
private Inspektionsobjekt _selectedSewer;
|
||||
|
||||
|
||||
public List<Inspektionsobjekt> SewerObjects { get; set; }
|
||||
public Inspektionsobjekt SelectedSewer
|
||||
{
|
||||
get => _selectedSewer;
|
||||
set
|
||||
{
|
||||
if(_selectedSewer != value)
|
||||
{
|
||||
_selectedSewer = value;
|
||||
mainWindowViewModel.SelectedSewerObject = _selectedSewer;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public SewerObjectListPageViewModel(StandardKernel kernel, Bauvorhaben selectedBauvorhaben, MainWindowViewModel mainWindowViewModel)
|
||||
{
|
||||
this.kernel = kernel;
|
||||
this.selectedBauvorhaben = selectedBauvorhaben;
|
||||
this.mainWindowViewModel = mainWindowViewModel;
|
||||
|
||||
IInspektionsObjectManager manager = kernel.Get<IInspektionsObjectManager>();
|
||||
|
||||
SewerObjects = manager.GetInspektionsobjekt(selectedBauvorhaben);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
<Grid>
|
||||
<Label>Auftraggebers</Label>
|
||||
<ListBox ItemsSource="{Binding Auftraggeberlist}"></ListBox>
|
||||
<ListBox ItemsSource="{Binding Auftraggeberlist}" SelectedItem="{Binding Path=SelectedAuftraggeber}"></ListBox>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
12
GuiWPF/Views/BauvorhabenListPageView.xaml
Normal file
12
GuiWPF/Views/BauvorhabenListPageView.xaml
Normal file
@@ -0,0 +1,12 @@
|
||||
<UserControl x:Class="GuiWPF.Views.BauvorhabenListPageView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:GuiWPF.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<ListBox ItemsSource="{Binding BauvorhabenList}" SelectedItem="{Binding SelectedBauvorhaben}" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
28
GuiWPF/Views/BauvorhabenListPageView.xaml.cs
Normal file
28
GuiWPF/Views/BauvorhabenListPageView.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace GuiWPF.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for BauvorhabenListPageView.xaml
|
||||
/// </summary>
|
||||
public partial class BauvorhabenListPageView : UserControl
|
||||
{
|
||||
public BauvorhabenListPageView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
12
GuiWPF/Views/SewerObjectListPageView.xaml
Normal file
12
GuiWPF/Views/SewerObjectListPageView.xaml
Normal file
@@ -0,0 +1,12 @@
|
||||
<UserControl x:Class="GuiWPF.Views.SewerObjectListPageView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:GuiWPF.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<ListBox ItemsSource="{Binding Path=SewerObjects}" SelectedItem="{Binding Path=SelectedSewer}" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
28
GuiWPF/Views/SewerObjectListPageView.xaml.cs
Normal file
28
GuiWPF/Views/SewerObjectListPageView.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace GuiWPF.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SewerObjectListPageView.xaml
|
||||
/// </summary>
|
||||
public partial class SewerObjectListPageView : UserControl
|
||||
{
|
||||
public SewerObjectListPageView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ namespace Mappings
|
||||
kernel.Bind(typeof(IRepository<>)).To(typeof(Repository<>));
|
||||
kernel.Bind<IAuftraggeberManager>().To<AuftraggeberManager>();
|
||||
kernel.Bind<IBaustelleManager>().To<BaustelleManager>();
|
||||
kernel.Bind<IInspektionsObjectManager>().To<InspektionsObjectManager>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user