104 lines
2.8 KiB
C#
104 lines
2.8 KiB
C#
using KanSan.Base.Models;
|
|
using KanSan.ViewModel.Commands;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Diagnostics;
|
|
using System.Text;
|
|
using System.Windows.Input;
|
|
|
|
namespace KanSan.ViewModel
|
|
{
|
|
public class SewerMainWindowViewModel : BaseViewModel,INotifyPropertyChanged
|
|
{
|
|
private Sewer model;
|
|
private SchaedenViewModel schadenViewModel;
|
|
private Schaeden schaden;
|
|
private BaseViewModel aktualView;
|
|
|
|
public BaseViewModel AktualView
|
|
{
|
|
get
|
|
{
|
|
return aktualView;
|
|
}
|
|
set
|
|
{
|
|
if (aktualView == value) return;
|
|
aktualView = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public Sewer Objekt
|
|
{
|
|
get => model;
|
|
}
|
|
|
|
public string ObjektBezeichnung
|
|
{
|
|
get
|
|
{
|
|
return string.Format("{0} ({1})",model.ObjektNummer,model.StrasseName);
|
|
}
|
|
}
|
|
|
|
public Schaeden Schaden
|
|
{
|
|
set
|
|
{
|
|
if (schaden == value) return;
|
|
schaden = value;
|
|
schadenViewModel = new SchaedenViewModel(schaden);
|
|
OnPropertyChanged("SchadenEntfernung");
|
|
}
|
|
}
|
|
|
|
public string SchadenEntfernung
|
|
{
|
|
get
|
|
{
|
|
Trace.WriteLine("Entfernung Schaden abgerufen");
|
|
if (schaden == null) return string.Empty;
|
|
return string.Format(schadenViewModel.ToString());
|
|
}
|
|
/*set
|
|
{
|
|
schadenEntfernung = value;
|
|
Trace.WriteLine("Entfernung Schaden gesetzt");
|
|
OnPropertyChanged();
|
|
}
|
|
*/
|
|
}
|
|
|
|
|
|
public ICommand StammdatenSelect { get; private set; }
|
|
public ICommand SchädenübersichtSelect { get; private set; }
|
|
|
|
public SewerMainWindowViewModel(Sewer model)
|
|
{
|
|
if (model == null) throw new ArgumentNullException();
|
|
this.model = model;
|
|
|
|
StammdatenSelect = new RelayCommand(parameter => SelectStammdaten());
|
|
SchädenübersichtSelect = new RelayCommand(parameter => SelectSchädenübersicht());
|
|
|
|
var x = MainWindowViewModel.ServiceProvider.GetService<MainWindowViewModel>();
|
|
x.ActualViewModel = new ObjekteEditViewModel(model);
|
|
|
|
}
|
|
|
|
private void SelectSchädenübersicht()
|
|
{
|
|
AktualView = new SchaedenListViewModel(model);
|
|
}
|
|
|
|
private void SelectStammdaten()
|
|
{
|
|
AktualView = new ObjekteEditViewModel(model);
|
|
}
|
|
}
|
|
}
|