From 3e9a353fc04912845fcdfdcc8d37903672d0ff68 Mon Sep 17 00:00:00 2001 From: Husky Date: Sun, 12 Jul 2020 19:32:14 +0200 Subject: [PATCH] Umbau angefangen auf ICommand --- ...opertyChangedClass.cs => BaseViewModel.cs} | 4 +- .../Baustelle/BaustelleEditViewModel.cs | 2 +- .../Baustelle/BaustellenListViewModel.cs | 2 +- KanSan.ViewModel/Commands/RelayCommand.cs | 32 +++++++++ .../Kunden/KundenEditViewModel.cs | 2 +- .../Kunden/KundenListViewModel.cs | 8 ++- .../LeistungsverzeichnisBaustelleViewModel.cs | 2 +- ...tungsverzeichnisPositionenListViewModel.cs | 2 +- .../LeistungsverzeichnisPositionViewModel.cs | 2 +- KanSan.ViewModel/MainWindowViewModel.cs | 69 ++++++++++++++++++- .../Objekte/ObjekteEditViewModel.cs | 2 +- .../Objekte/ObjekteListViewModel.cs | 20 +++++- .../Projekt/ProjektEditViewModel.cs | 2 +- .../Projekt/ProjektListViewModel.cs | 2 +- KanSan.ViewModel/Projekt/ProjektViewModel.cs | 2 +- .../Schaeden/SchaedenEditViewModel.cs | 2 +- ...ewModel.cs => SewerMainWindowViewModel.cs} | 4 +- .../Tätigkeiten/TaetigkeitEditViewModel.cs | 2 +- KanSan/App.xaml.cs | 4 +- KanSan/KanSan.csproj.user | 12 ++++ KanSan/MainWindow.xaml | 12 ++-- KanSan/MainWindow.xaml.cs | 45 ------------ KanSan/UI/Baustelle/UCBaustelleList.xaml.cs | 5 ++ KanSan/UI/Kunde/UCKundeList.xaml | 2 +- KanSan/UI/Objekte/UCObjekteList.xaml | 9 ++- KanSan/UI/Objekte/UCObjekteList.xaml.cs | 50 ++++++++++++++ KanSan/UI/Projekt/UCProjektList.xaml.cs | 6 +- .../UI/SanMaßnahmen/UCSanierungOverview.xaml | 19 +++++ .../SanMaßnahmen/UCSanierungOverview.xaml.cs | 26 +++++++ KanSan/UI/SewerMainWindow.xaml | 12 ++++ KanSan/UI/SewerMainWindow.xaml.cs | 32 +++++++++ KanSan/UI/UCSewerMainWindow.xaml.cs | 10 +-- KanSan/my_controls.xaml | 14 ++++ 33 files changed, 342 insertions(+), 77 deletions(-) rename KanSan.ViewModel/{PropertyChangedClass.cs => BaseViewModel.cs} (79%) create mode 100644 KanSan.ViewModel/Commands/RelayCommand.cs rename KanSan.ViewModel/{SewerMainMenuViewModel.cs => SewerMainWindowViewModel.cs} (91%) create mode 100644 KanSan/UI/SanMaßnahmen/UCSanierungOverview.xaml create mode 100644 KanSan/UI/SanMaßnahmen/UCSanierungOverview.xaml.cs create mode 100644 KanSan/UI/SewerMainWindow.xaml create mode 100644 KanSan/UI/SewerMainWindow.xaml.cs diff --git a/KanSan.ViewModel/PropertyChangedClass.cs b/KanSan.ViewModel/BaseViewModel.cs similarity index 79% rename from KanSan.ViewModel/PropertyChangedClass.cs rename to KanSan.ViewModel/BaseViewModel.cs index b368e65..e875a68 100644 --- a/KanSan.ViewModel/PropertyChangedClass.cs +++ b/KanSan.ViewModel/BaseViewModel.cs @@ -1,16 +1,18 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics; using System.Runtime.CompilerServices; using System.Text; namespace KanSan.ViewModel { - public class PropertyChangedClass + public class BaseViewModel { public event PropertyChangedEventHandler PropertyChanged; protected internal void OnPropertyChanged([CallerMemberName] string propertyname = null) { + Trace.WriteLine("OnPropertyChanged ()" + propertyname); if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyname)); } diff --git a/KanSan.ViewModel/Baustelle/BaustelleEditViewModel.cs b/KanSan.ViewModel/Baustelle/BaustelleEditViewModel.cs index 24bfbbd..e8a8cb3 100644 --- a/KanSan.ViewModel/Baustelle/BaustelleEditViewModel.cs +++ b/KanSan.ViewModel/Baustelle/BaustelleEditViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class BaustelleEditViewModel : PropertyChangedClass, INotifyPropertyChanged, IBaustelleEditViewModel + public class BaustelleEditViewModel : BaseViewModel, INotifyPropertyChanged, IBaustelleEditViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private Baustelle baustelle; diff --git a/KanSan.ViewModel/Baustelle/BaustellenListViewModel.cs b/KanSan.ViewModel/Baustelle/BaustellenListViewModel.cs index f62b6c5..6d4e1eb 100644 --- a/KanSan.ViewModel/Baustelle/BaustellenListViewModel.cs +++ b/KanSan.ViewModel/Baustelle/BaustellenListViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class BaustellenListViewModel : IBaustelleListViewModel + public class BaustellenListViewModel :BaseViewModel, IBaustelleListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private List baustellen; diff --git a/KanSan.ViewModel/Commands/RelayCommand.cs b/KanSan.ViewModel/Commands/RelayCommand.cs new file mode 100644 index 0000000..4615430 --- /dev/null +++ b/KanSan.ViewModel/Commands/RelayCommand.cs @@ -0,0 +1,32 @@ +using Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping; +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Input; + +namespace KanSan.ViewModel.Commands +{ + public class RelayCommand : ICommand + { + private Action execute; + private Func canExecute; + + public event EventHandler CanExecuteChanged; + + public RelayCommand(Action execute, Func canExecute = null) + { + this.execute = execute; + this.canExecute = canExecute; + } + + public bool CanExecute(object parameter) + { + return this.canExecute == null || this.canExecute(parameter); + } + + public void Execute(object parameter) + { + this.execute(parameter); + } + } +} diff --git a/KanSan.ViewModel/Kunden/KundenEditViewModel.cs b/KanSan.ViewModel/Kunden/KundenEditViewModel.cs index e80cea4..1b6a23a 100644 --- a/KanSan.ViewModel/Kunden/KundenEditViewModel.cs +++ b/KanSan.ViewModel/Kunden/KundenEditViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class KundenEditViewModel : PropertyChangedClass, INotifyPropertyChanged + public class KundenEditViewModel : BaseViewModel, INotifyPropertyChanged { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); diff --git a/KanSan.ViewModel/Kunden/KundenListViewModel.cs b/KanSan.ViewModel/Kunden/KundenListViewModel.cs index b29f879..9f86f15 100644 --- a/KanSan.ViewModel/Kunden/KundenListViewModel.cs +++ b/KanSan.ViewModel/Kunden/KundenListViewModel.cs @@ -2,19 +2,23 @@ using KanSan.Base.Interfaces; using KanSan.Base.Interfaces.UI; using KanSan.Base.Models; +using KanSan.ViewModel.Commands; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; +using System.Windows.Input; namespace KanSan.ViewModel { - public class KundenListViewModel : IKundenListViewModel + public class KundenListViewModel : BaseViewModel, IKundenListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private List kunden; + public ICommand AddNewClientCommand { get; set; } + public List Kunden { get @@ -26,6 +30,8 @@ namespace KanSan.ViewModel public KundenListViewModel() { kunden = unitOfWork.KundenRepository.Get().ToList(); + + AddNewClientCommand = new RelayCommand(parameter => NeueKunde()); } public Kunde NeueKunde() diff --git a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisBaustelleViewModel.cs b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisBaustelleViewModel.cs index 4ea64e0..46b4ac8 100644 --- a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisBaustelleViewModel.cs +++ b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisBaustelleViewModel.cs @@ -27,7 +27,7 @@ namespace KanSan.ViewModel public string Tag { get => tag; set => tag = value; } public bool IsActiveInBaustelle { get => isActiveInBaustelle; set => isActiveInBaustelle = value; } } - public class LeistungsverzeichnisBaustelleViewModel : PropertyChangedClass, INotifyPropertyChanged, ILeistungsverzeichnisBaustelleViewModel + public class LeistungsverzeichnisBaustelleViewModel : BaseViewModel, INotifyPropertyChanged, ILeistungsverzeichnisBaustelleViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); diff --git a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs index 2485328..a1aa1d3 100644 --- a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs +++ b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs @@ -10,7 +10,7 @@ using System.Text; namespace KanSan.ViewModel { - public class LeistungsverzeichnisPositionenListViewModel :PropertyChangedClass, INotifyPropertyChanged, ILeistungsverzeichnisPositionListViewModel + public class LeistungsverzeichnisPositionenListViewModel :BaseViewModel, INotifyPropertyChanged, ILeistungsverzeichnisPositionListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); List lvPositionen; diff --git a/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs index 2e9a8ae..c4ba777 100644 --- a/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs +++ b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class LeistungsverzeichnisPositionViewModel : PropertyChangedClass, INotifyPropertyChanged, ILeistungsverzeichnisPositionViewModel + public class LeistungsverzeichnisPositionViewModel : BaseViewModel, INotifyPropertyChanged, ILeistungsverzeichnisPositionViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); diff --git a/KanSan.ViewModel/MainWindowViewModel.cs b/KanSan.ViewModel/MainWindowViewModel.cs index e155da1..6708fb5 100644 --- a/KanSan.ViewModel/MainWindowViewModel.cs +++ b/KanSan.ViewModel/MainWindowViewModel.cs @@ -1,6 +1,7 @@ using KanSan.Base; using KanSan.Base.Interfaces; using KanSan.Base.Models; +using KanSan.ViewModel.Commands; using Microsoft.Win32; using Syncfusion.XlsIO; using System; @@ -11,12 +12,17 @@ using System.IO; using System.Linq; using System.Reflection; using System.Text; +using System.Windows.Input; namespace KanSan.ViewModel { - public class MainWindowViewModel : PropertyChangedClass, INotifyPropertyChanged + public class MainWindowViewModel : BaseViewModel, INotifyPropertyChanged { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); + + BaseViewModel actualViewModel; + + RegistryKey registry; const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\KanSan"; @@ -27,6 +33,32 @@ namespace KanSan.ViewModel public static Baustelle Baustelle; public static List LVPositionen = null; + + + + public ICommand ListClientsCommand { get; set; } + public ICommand ListProjectsCommand { get; set; } + public ICommand ListBaustellenCommand { get; set; } + public ICommand ListObjectsCommand { get; set; } + public ICommand ShowLeistungsverzeichnisCommand { get; set; } + public ICommand SelectLeistungsverzeichnisBaustelleCommand { get; set; } + + + public BaseViewModel ActualViewModel + { + get + { + Trace.WriteLine(actualViewModel); + return actualViewModel; + } + set + { + if (actualViewModel == value) return; + Trace.WriteLine("Setze viewModel auf " + value); + actualViewModel = value; + OnPropertyChanged(); + } + } public string ApplicationTitle @@ -184,10 +216,45 @@ namespace KanSan.ViewModel Registry.CurrentUser.CreateSubKey("Software\\Cosysda\\KanSan"); LadeRegistry(); } + + public void init() + { + + } public MainWindowViewModel() { + LadeRegistry(); LoadBaustellenLeistungsverzeichnis(); + + ListClients(); + + + ListClientsCommand = new RelayCommand(parmater => ListClients()); + ListProjectsCommand = new RelayCommand(parameter => ListProjekte()); + ListBaustellenCommand = new RelayCommand(paramter => ListBaustellen()); + ListObjectsCommand = new RelayCommand(parameter => ListObjekte()); + + } + + private void ListClients() + { + ActualViewModel = new KundenListViewModel(); + } + + private void ListProjekte() + { + ActualViewModel = new ProjektListViewModel(SelectedKunde); + } + + private void ListBaustellen() + { + ActualViewModel = new BaustellenListViewModel(SelectedProjekt); + } + + private void ListObjekte() + { + ActualViewModel = new ObjekteListViewModel(SelectedBaustelle); } public void GenerateExcelFile() diff --git a/KanSan.ViewModel/Objekte/ObjekteEditViewModel.cs b/KanSan.ViewModel/Objekte/ObjekteEditViewModel.cs index 1c52a0c..469bea9 100644 --- a/KanSan.ViewModel/Objekte/ObjekteEditViewModel.cs +++ b/KanSan.ViewModel/Objekte/ObjekteEditViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class ObjekteEditViewModel : PropertyChangedClass,IObjekteEditViewModel, INotifyPropertyChanged + public class ObjekteEditViewModel : BaseViewModel,IObjekteEditViewModel, INotifyPropertyChanged { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); string strassename; diff --git a/KanSan.ViewModel/Objekte/ObjekteListViewModel.cs b/KanSan.ViewModel/Objekte/ObjekteListViewModel.cs index 4528622..4a16ee3 100644 --- a/KanSan.ViewModel/Objekte/ObjekteListViewModel.cs +++ b/KanSan.ViewModel/Objekte/ObjekteListViewModel.cs @@ -2,10 +2,13 @@ using KanSan.Base.Interfaces; using KanSan.Base.Interfaces.UI; using KanSan.Base.Models; +using KanSan.ViewModel.Commands; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; +using System.Windows.Input; namespace KanSan.ViewModel { @@ -14,8 +17,10 @@ namespace KanSan.ViewModel public string Strassename { get; set; } public IEnumerable Objekte { get; set; } } - public class ObjekteListViewModel + public class ObjekteListViewModel : BaseViewModel { + public ICommand ObjektSelected { get; set; } + IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); List kanalObjekte = new List(); @@ -37,9 +42,22 @@ namespace KanSan.ViewModel }).ToList(); kanalObjekte = x; + ObjektSelected = new RelayCommand(SelectObjekt); + //kanalObjekte = unitOfWork.KanaeleRepository.Get(x => x.Baustelle.Equals(selectedBaustelle)).ToList(); } + private void SelectObjekt(object obj) + { + if (!(obj is Sewer)) return; + Sewer sewer = (Sewer)obj; + if (sewer == null) return; + + SewerMainWindowViewModel t = new SewerMainWindowViewModel(sewer); + Debugger.Break(); + //throw new NotImplementedException(); + } + public Sewer NeueObjektHinzufügen() { Guid guid = Guid.NewGuid(); diff --git a/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs b/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs index fb5960d..70629af 100644 --- a/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs +++ b/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class ProjektEditViewModel : PropertyChangedClass,INotifyPropertyChanged, IProjektEditViewModel + public class ProjektEditViewModel : BaseViewModel,INotifyPropertyChanged, IProjektEditViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private Projekt projekt; diff --git a/KanSan.ViewModel/Projekt/ProjektListViewModel.cs b/KanSan.ViewModel/Projekt/ProjektListViewModel.cs index 31916f1..a552027 100644 --- a/KanSan.ViewModel/Projekt/ProjektListViewModel.cs +++ b/KanSan.ViewModel/Projekt/ProjektListViewModel.cs @@ -9,7 +9,7 @@ using System.Text; namespace KanSan.ViewModel { - public class ProjektListViewModel : IProjektListViewModel + public class ProjektListViewModel : BaseViewModel, IProjektListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private List projektevonKunde; diff --git a/KanSan.ViewModel/Projekt/ProjektViewModel.cs b/KanSan.ViewModel/Projekt/ProjektViewModel.cs index 84960e5..e1f3dbc 100644 --- a/KanSan.ViewModel/Projekt/ProjektViewModel.cs +++ b/KanSan.ViewModel/Projekt/ProjektViewModel.cs @@ -10,7 +10,7 @@ using System.Text; namespace KanSan.ViewModel { - public class ProjektViewModel : PropertyChangedClass,INotifyPropertyChanged + public class ProjektViewModel : BaseViewModel,INotifyPropertyChanged { private Projekt _baustelle; IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); diff --git a/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs b/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs index bfd4ea8..d758df8 100644 --- a/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs +++ b/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs @@ -11,7 +11,7 @@ using System.Text; namespace KanSan.ViewModel { - public class SchaedenEditViewModel : PropertyChangedClass, INotifyPropertyChanged, ISchaedenEditViewModel + public class SchaedenEditViewModel : BaseViewModel, INotifyPropertyChanged, ISchaedenEditViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); decimal entfernung; diff --git a/KanSan.ViewModel/SewerMainMenuViewModel.cs b/KanSan.ViewModel/SewerMainWindowViewModel.cs similarity index 91% rename from KanSan.ViewModel/SewerMainMenuViewModel.cs rename to KanSan.ViewModel/SewerMainWindowViewModel.cs index b143bab..ca52b96 100644 --- a/KanSan.ViewModel/SewerMainMenuViewModel.cs +++ b/KanSan.ViewModel/SewerMainWindowViewModel.cs @@ -7,7 +7,7 @@ using System.Text; namespace KanSan.ViewModel { - public class SewerMainMenuViewModel : PropertyChangedClass,INotifyPropertyChanged + public class SewerMainWindowViewModel : BaseViewModel,INotifyPropertyChanged { private Sewer model; private SchaedenViewModel schadenViewModel; @@ -58,7 +58,7 @@ namespace KanSan.ViewModel - public SewerMainMenuViewModel(Sewer model) + public SewerMainWindowViewModel(Sewer model) { if (model == null) throw new ArgumentNullException(); this.model = model; diff --git a/KanSan.ViewModel/Tätigkeiten/TaetigkeitEditViewModel.cs b/KanSan.ViewModel/Tätigkeiten/TaetigkeitEditViewModel.cs index 4fce47e..d5151df 100644 --- a/KanSan.ViewModel/Tätigkeiten/TaetigkeitEditViewModel.cs +++ b/KanSan.ViewModel/Tätigkeiten/TaetigkeitEditViewModel.cs @@ -10,7 +10,7 @@ using System.Text; namespace KanSan.ViewModel { - public class TaetigkeitEditViewModel : PropertyChangedClass, INotifyPropertyChanged, ITaetigkeitEditViewModel + public class TaetigkeitEditViewModel : BaseViewModel, INotifyPropertyChanged, ITaetigkeitEditViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); Fahrzeug fahrzeug; diff --git a/KanSan/App.xaml.cs b/KanSan/App.xaml.cs index 8380086..ed4d4ec 100644 --- a/KanSan/App.xaml.cs +++ b/KanSan/App.xaml.cs @@ -1,4 +1,5 @@ -using System; +using KanSan.ViewModel; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; @@ -17,6 +18,7 @@ namespace KanSan public App() { Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MjM0MjUzQDMxMzgyZTMxMmUzMG8wTDNQcm5mN3UxaU9MbjdkVUlQbDgzWHcvUXZCOHdaVVY3c2I5S3BvN0U9"); + } diff --git a/KanSan/KanSan.csproj.user b/KanSan/KanSan.csproj.user index 2651174..692440a 100644 --- a/KanSan/KanSan.csproj.user +++ b/KanSan/KanSan.csproj.user @@ -61,9 +61,15 @@ Code + + Code + Code + + Code + Code @@ -138,9 +144,15 @@ Designer + + Designer + Designer + + Designer + Designer diff --git a/KanSan/MainWindow.xaml b/KanSan/MainWindow.xaml index acd6c43..f639b63 100644 --- a/KanSan/MainWindow.xaml +++ b/KanSan/MainWindow.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:local="clr-namespace:KanSan" xmlns:syncfusion="clr-namespace:Syncfusion.Windows.Shared;assembly=Syncfusion.Shared.WPF" x:Class="KanSan.MainWindow" TitleTextAlignment="Center" TitleBarBackground="BlueViolet" @@ -17,6 +18,7 @@ + @@ -36,10 +38,10 @@ - - - - + + + + @@ -48,7 +50,7 @@ - + diff --git a/KanSan/MainWindow.xaml.cs b/KanSan/MainWindow.xaml.cs index 90af54a..2d06fad 100644 --- a/KanSan/MainWindow.xaml.cs +++ b/KanSan/MainWindow.xaml.cs @@ -125,51 +125,6 @@ namespace KanSan } - private void rbKunden_Checked(object sender, RoutedEventArgs e) - { - rbLeistungsverzeichnis.IsChecked = false; - rbLeistungsverzeichnisBaustellen.IsChecked = false; - UCKundeList = new UI.UCKundeList(); - UCKundeList.KundeAdded += UCKundeList_KundeAdded; - UCKundeList.KundeSelect += UCKundeList_KundeSelect; - ContentController.Content = UCKundeList; - } - - private void rbProjekte_Checked(object sender, RoutedEventArgs e) - { - rbLeistungsverzeichnis.IsChecked = false; - rbLeistungsverzeichnisBaustellen.IsChecked = false; - Kunde client = (DataContext as MainWindowViewModel).SelectedKunde; - if (client == null) return; - UCProjektList = new UI.UCProjektList(client); - UCProjektList.ProjektSelected += UCProjektList_ProjektSelected; - UCProjektList.ProjektAdded += UCProjektList_ProjektAdded; - UCProjektList.ProjektEdited += UCProjektList_ProjektEdited; - ContentController.Content = UCProjektList; - } - - private void rbBaustellen_Checked(object sender, RoutedEventArgs e) - { - rbLeistungsverzeichnis.IsChecked = false; - rbLeistungsverzeichnisBaustellen.IsChecked = false; - Projekt projekt = (DataContext as MainWindowViewModel).SelectedProjekt; - if (projekt == null) return; - UCBaustelleList = new UI.UCBaustelleList(projekt); - UCBaustelleList.BaustelleAdded += UCBaustelleList_BaustelleAdded; - UCBaustelleList.BaustelleEdited += UCBaustelleList_BaustelleEdited; - UCBaustelleList.BaustelleSelected += UCBaustelleList_BaustelleSelected; - ContentController.Content = UCBaustelleList; - } - - private void rbObjekte_Checked(object sender, RoutedEventArgs e) - { - rbLeistungsverzeichnis.IsChecked = false; - rbLeistungsverzeichnisBaustellen.IsChecked = false; - rbObjekte.IsChecked = true; - UI.UCObjekteList uCObjekteList = new UI.UCObjekteList((DataContext as MainWindowViewModel).SelectedBaustelle); - uCObjekteList.ObjektSelected += UCObjekteList_ObjektSelected; - ContentController.Content = uCObjekteList; - } private void rbLeistungsverzeichnis_Checked(object sender, RoutedEventArgs e) { diff --git a/KanSan/UI/Baustelle/UCBaustelleList.xaml.cs b/KanSan/UI/Baustelle/UCBaustelleList.xaml.cs index 3438b2c..c9bf39d 100644 --- a/KanSan/UI/Baustelle/UCBaustelleList.xaml.cs +++ b/KanSan/UI/Baustelle/UCBaustelleList.xaml.cs @@ -23,6 +23,11 @@ namespace KanSan.UI public event EventHandler BaustelleSelected; public event EventHandler BaustelleAdded; public event EventHandler BaustelleEdited; + + public UCBaustelleList() + { + InitializeComponent(); + } public UCBaustelleList(Projekt projekt) { InitializeComponent(); diff --git a/KanSan/UI/Kunde/UCKundeList.xaml b/KanSan/UI/Kunde/UCKundeList.xaml index 2b47c22..3c6dc36 100644 --- a/KanSan/UI/Kunde/UCKundeList.xaml +++ b/KanSan/UI/Kunde/UCKundeList.xaml @@ -26,7 +26,7 @@