Files
DaSaSo/DaSaSo.ViewModel/SewerStammdatenViewModel.cs
2021-09-27 10:19:11 +02:00

129 lines
3.5 KiB
C#

using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel
{
public class SewerStammdatenViewModel : BaseViewModel
{
private readonly IActualProject _actualProject;
private readonly SewerObjectDataService _dataservice;
private SewerObject _model;
public string Haltungsname
{
get => Model.ObjektName;
set
{
if(Model.ObjektName != value)
{
Model.ObjektName = value;
OnPropertyChanged();
}
}
}
public string Oberepunkt { get; set; }
public string Unterepunkt { get; set; }
public int Durchmesser
{
get => Model.DN;
set
{
if(Model.SewerLength != value)
{
Model.SewerLength = value;
OnPropertyChanged();
}
}
}
public string Material
{
get => Model.Material;
set
{
if(Model.Material != value)
{
Model.Material = value;
OnPropertyChanged();
}
}
}
public decimal Leitungslenght {
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(Leitungslenght));
OnPropertyChanged(nameof(Strasse));
OnPropertyChanged(nameof(Ort));
}
}
public SewerStammdatenViewModel(IDataService<SewerObject> dataService,IActualProject actualProject)
{
_actualProject = actualProject;
_dataservice = (SewerObjectDataService)dataService;
Model = new SewerObject();
LoadModel();
}
private async void LoadModel()
{
Model = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
}
}
}