Datenschnittstelle erweitert
This commit is contained in:
37
GuiWPF/ViewModel/AuftraggeberEditPageViewModel.cs
Normal file
37
GuiWPF/ViewModel/AuftraggeberEditPageViewModel.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
public class AuftraggeberEditPageViewModel : ViewModelBase
|
||||
{
|
||||
Models.Auftraggeber _model;
|
||||
DichtheitManagement.Contract.IAuftraggeberManager _auftraggeberManager;
|
||||
|
||||
public string Name { get => _model.Name; set => _model.Name = value;}
|
||||
public string Strasse { get => _model.Strasse; set => _model.Strasse = value; }
|
||||
public string Ort { get => _model.Ort; set => _model.Ort = value;}
|
||||
public string Telefon { get => _model.Tel; set => _model.Tel = value;}
|
||||
|
||||
public ICommand SaveCommand { get;private set;}
|
||||
|
||||
|
||||
|
||||
public AuftraggeberEditPageViewModel(Models.Auftraggeber auftraggeber, DichtheitManagement.Contract.IAuftraggeberManager auftraggeberManager)
|
||||
{
|
||||
_model = auftraggeber;
|
||||
_auftraggeberManager = auftraggeberManager;
|
||||
|
||||
SaveCommand = new DelegateCommand(o => this.SaveAuftraggeber());
|
||||
}
|
||||
|
||||
private void SaveAuftraggeber()
|
||||
{
|
||||
_auftraggeberManager.Update(_model);
|
||||
}
|
||||
}
|
||||
}
|
||||
31
GuiWPF/ViewModel/AuftraggeberListPageViewModel.cs
Normal file
31
GuiWPF/ViewModel/AuftraggeberListPageViewModel.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
public class AuftraggeberListPageViewModel : ViewModelBase
|
||||
{
|
||||
private IAuftraggeberManager auftraggeberManager;
|
||||
|
||||
public List<Models.Auftraggeber> Auftraggeberlist { get; set; }
|
||||
/*public AuftraggeberListPageViewModel(IQueryable<Models.Auftraggeber> auftraggeberlist)
|
||||
{
|
||||
|
||||
Auftraggeberlist = auftraggeberlist.ToList();
|
||||
Auftraggeberlist.Last().Name = "Damian";
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
public AuftraggeberListPageViewModel(IAuftraggeberManager auftraggeberManager)
|
||||
{
|
||||
this.auftraggeberManager = auftraggeberManager;
|
||||
Auftraggeberlist = auftraggeberManager.GetAllAuftraggeber().ToList();
|
||||
//Auftraggeberlist.Last().Name = "Damian";
|
||||
}
|
||||
}
|
||||
}
|
||||
26
GuiWPF/ViewModel/BauvorhabenEditPageViewModel.cs
Normal file
26
GuiWPF/ViewModel/BauvorhabenEditPageViewModel.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using Mappings;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
internal class BauvorhabenEditPageViewModel : ViewModelBase
|
||||
{
|
||||
public BauvorhabenEditPageViewModel()
|
||||
{
|
||||
var kernel = new StandardKernel();
|
||||
new KernelInitializer().Initialize(kernel);
|
||||
var baustellen = kernel.Get<IBaustelleManager>();
|
||||
|
||||
var s = baustellen.GetBauvorhaben(1);
|
||||
s.Standort = "Timbuktu";
|
||||
baustellen.Update(s);
|
||||
OnPropertyChanged("BauvorhabenListe");
|
||||
}
|
||||
}
|
||||
}
|
||||
26
GuiWPF/ViewModel/HomePageViewModel.cs
Normal file
26
GuiWPF/ViewModel/HomePageViewModel.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
public class HomePageViewModel : ViewModelBase
|
||||
{
|
||||
public HomePageViewModel(HomePage model)
|
||||
{
|
||||
this.Model = model;
|
||||
}
|
||||
public HomePage Model { get; private set; }
|
||||
public string PageTitle
|
||||
{
|
||||
get => this.Model.PageTitle;
|
||||
set
|
||||
{
|
||||
this.Model.PageTitle = value;
|
||||
this.OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
170
GuiWPF/ViewModel/MainWindowViewModel.cs
Normal file
170
GuiWPF/ViewModel/MainWindowViewModel.cs
Normal file
@@ -0,0 +1,170 @@
|
||||
using DichtheitManagement.Contract;
|
||||
using Mappings;
|
||||
using Ninject;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
public class MainWindowViewModel : ViewModelBase
|
||||
{
|
||||
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; }
|
||||
|
||||
|
||||
|
||||
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
|
||||
{
|
||||
if(SelectedAuftraggeber != null && SelectedAuftraggeber.Baustellen != null)
|
||||
return SelectedAuftraggeber.Baustellen.ToList();
|
||||
return new List<Models.Bauvorhaben>();
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public List<Models.Inspektionsobjekt> InspektionsobjekteListe
|
||||
{
|
||||
get
|
||||
{
|
||||
if(SelectedAuftraggeber != null && SelectedBauvorhaben.Prüfobjekte != null)
|
||||
return SelectedBauvorhaben.Prüfobjekte.ToList();
|
||||
return new List<Models.Inspektionsobjekt>();
|
||||
}
|
||||
set
|
||||
{
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public Models.Bauvorhaben SelectedBauvorhaben
|
||||
{
|
||||
get => _selectedBauvorhaben;
|
||||
set
|
||||
{
|
||||
if(value != _selectedBauvorhaben)
|
||||
{
|
||||
_selectedBauvorhaben = value;
|
||||
OnPropertyChanged();
|
||||
InspektionsobjekteListe.Clear();
|
||||
InspektionsobjekteListe = _selectedBauvorhaben.Prüfobjekte;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Models.Auftraggeber SelectedAuftraggeber
|
||||
{
|
||||
get => _selectedAuftraggeber;
|
||||
set
|
||||
{
|
||||
if(value != _selectedAuftraggeber)
|
||||
{
|
||||
_selectedAuftraggeber = value;
|
||||
OnPropertyChanged();
|
||||
BauvorhabenListe.Clear();
|
||||
BauvorhabenListe = baustellenManager.GetBauvorhaben(SelectedAuftraggeber);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Models.Inspektionsobjekt SelectedSewerObject
|
||||
{
|
||||
get => _selectedsewerobject;
|
||||
set
|
||||
{
|
||||
if(value != _selectedsewerobject)
|
||||
{
|
||||
_selectedsewerobject = value;
|
||||
OnPropertyChanged();
|
||||
CurrentViewModel = new SewerObjectDetailsPageViewModel(SelectedSewerObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ViewModelBase _currentViewModel;
|
||||
private IQueryable<Models.Auftraggeber> auftraggeberlist = null;
|
||||
|
||||
private IAuftraggeberManager auftraggeberManager = null;
|
||||
private IBaustelleManager baustellenManager = null;
|
||||
|
||||
private StandardKernel kernel = null;
|
||||
public ViewModelBase CurrentViewModel
|
||||
{
|
||||
get => _currentViewModel;
|
||||
set
|
||||
{
|
||||
_currentViewModel = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
|
||||
kernel = new StandardKernel();
|
||||
new KernelInitializer().Initialize(kernel);
|
||||
auftraggeberManager = kernel.Get<IAuftraggeberManager>();
|
||||
baustellenManager = kernel.Get<IBaustelleManager>();
|
||||
|
||||
|
||||
auftraggeberlist = auftraggeberManager.GetAllAuftraggeber();
|
||||
|
||||
}
|
||||
|
||||
private void AddNewInspektionsObjekt()
|
||||
{
|
||||
if (SelectedBauvorhaben.Prüfobjekte == null)
|
||||
SelectedBauvorhaben.Prüfobjekte = new List<Models.Inspektionsobjekt>();
|
||||
SelectedBauvorhaben.Prüfobjekte.Add(new Models.Inspektionsobjekt());
|
||||
auftraggeberManager.Update(SelectedAuftraggeber);
|
||||
}
|
||||
|
||||
private void LoadHomePage()
|
||||
{
|
||||
|
||||
|
||||
CurrentViewModel = new HomePageViewModel(
|
||||
new HomePage { PageTitle = "This is the Home Page" });
|
||||
}
|
||||
|
||||
private void LoadSettingsPage()
|
||||
{
|
||||
CurrentViewModel = new SettingsPageViewModel(
|
||||
new SettingsPage() { PageTitle = "This is the SettingsPage" });
|
||||
//auftraggeberManager.Update(auftraggeberlist.OrderBy(y => y.Id).Last());
|
||||
BauvorhabenEditPageViewModel bauvorhaben = new BauvorhabenEditPageViewModel();
|
||||
|
||||
}
|
||||
|
||||
private void LoadAuftraggeberEditPage()
|
||||
{
|
||||
CurrentViewModel = new AuftraggeberEditPageViewModel(auftraggeberManager.GetAllAuftraggeber().OrderBy(y => y.Id).Last(),auftraggeberManager);
|
||||
}
|
||||
|
||||
private void LoadAuftraggeberListPage()
|
||||
{
|
||||
CurrentViewModel = new AuftraggeberListPageViewModel(auftraggeberManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
26
GuiWPF/ViewModel/SettingsPageViewModel.cs
Normal file
26
GuiWPF/ViewModel/SettingsPageViewModel.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
public class SettingsPageViewModel : ViewModelBase
|
||||
{
|
||||
public SettingsPageViewModel(SettingsPage model)
|
||||
{
|
||||
this.Model = model;
|
||||
}
|
||||
public SettingsPage Model { get; private set; }
|
||||
public string PageTitle
|
||||
{
|
||||
get => this.Model.PageTitle;
|
||||
set
|
||||
{
|
||||
this.Model.PageTitle = value;
|
||||
this.OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
51
GuiWPF/ViewModel/SewerObjectDetailsPageViewModel.cs
Normal file
51
GuiWPF/ViewModel/SewerObjectDetailsPageViewModel.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF.ViewModel
|
||||
{
|
||||
internal class SewerObjectDetailsPageViewModel : ViewModelBase
|
||||
{
|
||||
private Inspektionsobjekt _model;
|
||||
|
||||
public SewerObjectDetailsPageViewModel(Inspektionsobjekt selectedSewerObject)
|
||||
{
|
||||
this._model = selectedSewerObject;
|
||||
}
|
||||
#region getsetters
|
||||
public string ObjektName
|
||||
{
|
||||
get => _model.Objektname;
|
||||
set => _model.Objektname = value;
|
||||
}
|
||||
public string ObenName
|
||||
{
|
||||
get => _model.ObereSchacht;
|
||||
set => _model.ObereSchacht = value;
|
||||
}
|
||||
public string UntenName
|
||||
{
|
||||
get => _model.UntereSchacht;
|
||||
set => _model.UntereSchacht= value;
|
||||
}
|
||||
public decimal ObjektLength
|
||||
{
|
||||
get => _model.ObjektLänge;
|
||||
set => _model.ObjektLänge = value;
|
||||
}
|
||||
public decimal Durchmesser
|
||||
{
|
||||
get => _model.Durchmesser;
|
||||
set => _model.Durchmesser = value;
|
||||
}
|
||||
public string Bemerkung
|
||||
{
|
||||
get => _model.Bemerkung;
|
||||
set => _model.Bemerkung = value;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
26
GuiWPF/ViewModel/ViewModelBase.cs
Normal file
26
GuiWPF/ViewModel/ViewModelBase.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GuiWPF
|
||||
{
|
||||
public abstract class ViewModelBase : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected void OnPropertyChanged([CallerMemberName]string propertyName = "")
|
||||
{
|
||||
this.OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
|
||||
{
|
||||
var handler = this.PropertyChanged;
|
||||
if (handler != null)
|
||||
handler(this, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user