Files
DaSaSo/DaSaSo.ViewModel/SewerStammdatenViewModel.cs
2021-10-06 19:52:32 +02:00

196 lines
5.3 KiB
C#

using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.SewerPointServices;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.ViewModel
{
public class SewerStammdatenViewModel : BaseViewModel
{
private readonly IActualProject _actualProject;
private readonly ISewerpointService _sewerpointService;
private SewerObject _model;
public ICommand SaveCommand { get; set; }
public string _oberepunkt { get; set; }
public string _unterepunkt { get; set; }
public string Haltungsname
{
get => Model.ObjektName;
set
{
if(Model.ObjektName != value)
{
Model.ObjektName = value;
OnPropertyChanged();
}
}
}
public string Hausnummer
{
get => Model.Hausnummer;
set
{
if(Model.Hausnummer != value)
{
Model.Hausnummer = value;
OnPropertyChanged();
}
}
}
public string Sanierungsid
{
get => Model.SanNummer;
set
{
if(Model.SanNummer != value)
{
Model.SanNummer = value;
OnPropertyChanged();
}
}
}
public string Oberepunkt
{
get
{
if (_model.PunktOben != null)
return _model.PunktOben.Objektnummer;
return _oberepunkt;
}
set
{
if(_oberepunkt != value)
{
_oberepunkt = value;
}
}
}
public string Unterepunkt
{
get
{
if (_model.PunktUnten != null)
return _model.PunktUnten.Objektnummer;
return _unterepunkt;
}
set
{
if(_unterepunkt != value)
{
_unterepunkt = value;
}
}
}
public int Durchmesser
{
get => Model.DN;
set
{
if(Model.DN != value)
{
Model.DN = value;
OnPropertyChanged();
}
}
}
public string Material
{
get => Model.Material;
set
{
if(Model.Material != value)
{
Model.Material = value;
OnPropertyChanged();
}
}
}
public decimal Leitungslength {
get => Model.SewerLength;
set
{
if(Model.SewerLength != value)
{
Model.SewerLength = value;
OnPropertyChanged();
}
}
}
public string Strasse
{
get => Model.StreetName;
set
{
if (Model.StreetName != value)
{
Model.StreetName = value;
OnPropertyChanged();
}
}
}
public string Ort
{
get
{
return Model.BuildingSite == null ? "" : Model.BuildingSite.Country;
}
set
{
if(Model.BuildingSite.Country != value)
{
Model.BuildingSite.Country = value;
OnPropertyChanged();
}
}
}
public SewerObject Model
{
get => _model;
set
{
_model = value;
OnPropertyChanged(nameof(Haltungsname));
OnPropertyChanged(nameof(Oberepunkt));
OnPropertyChanged(nameof(Unterepunkt));
OnPropertyChanged(nameof(Durchmesser));
OnPropertyChanged(nameof(Material));
OnPropertyChanged(nameof(Leitungslength));
OnPropertyChanged(nameof(Strasse));
OnPropertyChanged(nameof(Ort));
}
}
public SewerStammdatenViewModel(IActualProject actualProject, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
{
_actualProject = actualProject;
Model = _actualProject.AktuellSewerObject;
SaveCommand = new SaveSewerStammdatenCommand(this, dataService, sewerpointService);
this.PropertyChanged += SewerStammdatenViewModel_PropertyChanged;
}
private void SewerStammdatenViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
Model.IsChanged = true;
}
~SewerStammdatenViewModel()
{
}
}
}