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; decimal haltungslaenge; 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(); } } public decimal Haltungslaenge { get => haltungslaenge; set { if (haltungslaenge == value) return; haltungslaenge = 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; haltungslaenge = objekt.Haltungslaenge; } public void Speichern() { objekt.StrasseName = strassename; objekt.DN = durchmesser; objekt.Haltungslaenge = haltungslaenge; objekt.RohrleitungInBetrieb = rohrleitungInBetrieb; objekt.WasserHaltungDurchgefuehrt = wasserHaltungdurchgefuehrt; objekt.BaustellensicherungErforderlich = baustellenAbsicherung; objekt.HaltungGespuelt = haltungGespuelt; objekt.GenehmigungErforderlich = genehmigungErforderlich; unitOfWork.KanaeleRepository.Update(objekt); unitOfWork.Commit(); } } }