Files
Kansan/KanSan.ViewModel/SewerMainWindowViewModel.cs
2020-07-15 17:18:52 +02:00

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);
}
}
}