Files
SewerGenerator/StammGenerator/ViewModel/Projekt/ProjektSettingsViewModel.cs

138 lines
3.8 KiB
C#

using SewerStammGen.Shared.Domain;
using SewerStammGen.Shared.Enum;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace StammGenerator.ViewModel
{
public class ProjektSettingsViewModel : BaseViewModel
{
private Visibility _xmlVisible;
private Visibility _kandisVisible;
private ESelectedNorm _selectedNorm;
private EKodierungssystem _selectedKodier;
private Projekt _projekt = new Projekt();
public ESelectedNorm SelectedNorm
{
get => _selectedNorm;
set
{
if(_selectedNorm != value)
{
_selectedNorm = value;
OnPropertyChanged();
}
}
}
public EExportType SelectedExport
{
get => _projekt.ExportType;
set
{
if(value != _projekt.ExportType)
{
_projekt.ExportType = value;
if (_projekt.ExportType == EExportType.KANDIS)
{
KandisVisible = Visibility.Visible;
XmlVisible = Visibility.Collapsed;
}
else if(_projekt.ExportType == EExportType.XML)
{
XmlVisible = Visibility.Visible;
KandisVisible = Visibility.Collapsed;
}
OnPropertyChanged();
}
}
}
public EKodierungssystem SelectedKodier
{
get => _selectedKodier;
set
{
if(_selectedKodier != value)
{
_selectedKodier = value;
OnPropertyChanged();
}
}
}
public Visibility XmlVisible
{
get => _xmlVisible;
set
{
if(_xmlVisible != value)
{
_xmlVisible = value;
OnPropertyChanged();
}
}
}
public Visibility KandisVisible
{
get => _kandisVisible;
set
{
if(_kandisVisible != value)
{
_kandisVisible = value;
OnPropertyChanged();
}
}
}
public Projekt Projekt
{
get => _projekt;
set
{
if(value != _projekt)
{
_projekt = value;
//SelectedExport = _projekt.ExportType;
if(_projekt.ExportType == EExportType.KANDIS)
{
_kandisVisible = Visibility.Visible;
_xmlVisible = Visibility.Collapsed;
}
else if(_projekt.ExportType == EExportType.XML)
{
_xmlVisible = Visibility.Visible;
_kandisVisible = Visibility.Collapsed;
}
OnPropertyChanged();
OnPropertyChanged(nameof(SelectedNorm));
OnPropertyChanged(nameof(SelectedExport));
OnPropertyChanged(nameof(KandisVisible));
OnPropertyChanged(nameof(XmlVisible));
}
}
}
public ProjektSettingsViewModel()
{
//SelectedExport = EExportType.XML;
//this.Projekt = new Projekt();
}
}
}