Files
Kansan/KanSan.ViewModel/Objekte/ObjekteEditViewModel.cs

175 lines
5.0 KiB
C#

using KanSan.Base;
using KanSan.Base.Interfaces;
using KanSan.Base.Interfaces.UI;
using KanSan.Base.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace KanSan.ViewModel
{
public class ObjekteEditViewModel : PropertyChangedClass,IObjekteEditViewModel, INotifyPropertyChanged
{
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
string strassename;
string objektnummer;
string punktOben;
string punktUnten;
int durchmesser;
string material;
bool rohrleitungInBetrieb;
bool wasserHaltungdurchgefuehrt;
bool haltungGespuelt;
bool genehmigungErforderlich;
bool baustellenAbsicherung;
private Sewer objekt;
#region gettersetters
public string StrasseName
{
get => strassename;
set
{
if (strassename == value) return;
strassename = value;
OnPropertyChanged();
}
}
public string Objektnummer
{
get => objektnummer;
set
{
if (objektnummer == value) return;
objektnummer = value;
OnPropertyChanged();
}
}
public string PunktOben
{
get => punktOben;
set
{
if (punktOben == value) return;
punktOben = value;
OnPropertyChanged();
}
}
public string PunktUnten
{
get => punktUnten;
set
{
if (punktUnten == value) return;
punktUnten = value;
OnPropertyChanged();
}
}
public int Durchmesser
{
get => durchmesser;
set
{
if (durchmesser == value) return;
durchmesser = value;
OnPropertyChanged();
}
}
public string Material
{
get => material;
set
{
if (material == value) return;
material = value;
OnPropertyChanged();
}
}
public bool RohrleitungInBetrieb
{
get => rohrleitungInBetrieb;
set
{
if (rohrleitungInBetrieb == value) return;
rohrleitungInBetrieb = value;
OnPropertyChanged();
}
}
public bool WasserHaltungDurchgefuehrt
{
get => wasserHaltungdurchgefuehrt;
set
{
if (wasserHaltungdurchgefuehrt == value) return;
wasserHaltungdurchgefuehrt = value;
OnPropertyChanged();
}
}
public bool HaltungGespuelt
{
get => haltungGespuelt;
set
{
if (haltungGespuelt == value) return;
haltungGespuelt = value;
OnPropertyChanged();
}
}
public bool GenehmigungErforderlich
{
get => genehmigungErforderlich;
set
{
if (genehmigungErforderlich == value) return;
genehmigungErforderlich = value;
OnPropertyChanged();
}
}
public bool BaustellenAbsicherung
{
get => baustellenAbsicherung;
set
{
if (baustellenAbsicherung == value) return;
baustellenAbsicherung = value;
OnPropertyChanged();
}
}
#endregion
public ObjekteEditViewModel(Sewer sewer)
{
objekt = sewer;
strassename = objekt.StrasseName;
punktOben = objekt.PunktOben.Objektnummer;
punktUnten = objekt.PunktUnten.Objektnummer;
objektnummer = objekt.ObjektNummer;
durchmesser = objekt.DN;
material = objekt.Material.ToString();
rohrleitungInBetrieb = objekt.RohrleitungInBetrieb;
wasserHaltungdurchgefuehrt = objekt.WasserHaltungDurchgefuehrt;
haltungGespuelt = objekt.HaltungGespuelt;
genehmigungErforderlich = objekt.GenehmigungErforderlich;
baustellenAbsicherung = objekt.BaustellensicherungErforderlich;
}
public void Speichern()
{
objekt.StrasseName = strassename;
objekt.DN = durchmesser;
objekt.RohrleitungInBetrieb = rohrleitungInBetrieb;
objekt.WasserHaltungDurchgefuehrt = wasserHaltungdurchgefuehrt;
objekt.BaustellensicherungErforderlich = baustellenAbsicherung;
objekt.HaltungGespuelt = haltungGespuelt;
objekt.GenehmigungErforderlich = genehmigungErforderlich;
unitOfWork.KanaeleRepository.Update(objekt);
unitOfWork.Commit();
}
}
}