Schäden können nun hinzugefügt werden
This commit is contained in:
107
KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs
Normal file
107
KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Enums;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class SchaedenEditViewModel : PropertyChangedClass, INotifyPropertyChanged, ISchaedenEditViewModel
|
||||
{
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
decimal entfernung;
|
||||
bool wurzelInkrustation;
|
||||
bool rissbruchscherbe;
|
||||
bool einragendeStutzen;
|
||||
ESanierung sanierungstyp;
|
||||
private Schaeden model;
|
||||
|
||||
#region GetSetters
|
||||
public decimal Entfernung
|
||||
{
|
||||
get => entfernung;
|
||||
set
|
||||
{
|
||||
if (entfernung == value) return;
|
||||
entfernung = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public bool WurzelInkrustationAblagerungen
|
||||
{
|
||||
get => wurzelInkrustation;
|
||||
set
|
||||
{
|
||||
if (wurzelInkrustation == value) return;
|
||||
wurzelInkrustation = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public bool RissBruchScherbe
|
||||
{
|
||||
get => rissbruchscherbe;
|
||||
set
|
||||
{
|
||||
if (rissbruchscherbe == value) return;
|
||||
rissbruchscherbe = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public bool EinragendeStutzen
|
||||
{
|
||||
get => einragendeStutzen;
|
||||
set
|
||||
{
|
||||
if (einragendeStutzen == value) return;
|
||||
einragendeStutzen = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string Sanierungstyp
|
||||
{
|
||||
get
|
||||
{
|
||||
switch(sanierungstyp)
|
||||
{
|
||||
case ESanierung.ERNEUERUNG: return "Offene Bauweise";
|
||||
case ESanierung.RENOVATION: return "Renovation";
|
||||
case ESanierung.REPERATUR: return "Reperatur";
|
||||
default: return "Unbekannt";
|
||||
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public SchaedenEditViewModel(Schaeden schaeden)
|
||||
{
|
||||
this.model = schaeden;
|
||||
entfernung = model.Entfernung;
|
||||
wurzelInkrustation = model.WurzelInkrustationAblagerungen;
|
||||
rissbruchscherbe = model.RissBruchScherbe;
|
||||
einragendeStutzen = model.StutzenEinragend;
|
||||
sanierungstyp = model.SanierungsTyp;
|
||||
}
|
||||
|
||||
public void Speichern()
|
||||
{
|
||||
model.Entfernung = entfernung;
|
||||
model.WurzelInkrustationAblagerungen = wurzelInkrustation;
|
||||
model.RissBruchScherbe = rissbruchscherbe;
|
||||
model.StutzenEinragend = einragendeStutzen;
|
||||
unitOfWork.SchaedenRepository.Update(model);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
44
KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs
Normal file
44
KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class SchaedenListViewModel : ISchaedenListViewModel
|
||||
{
|
||||
private Sewer actualSelectedSewer;
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
|
||||
private List<Schaeden> schaeden;
|
||||
|
||||
|
||||
public List<Schaeden> Schaeden { get => schaeden; }
|
||||
|
||||
public SchaedenListViewModel(Sewer actualSelectedSewer)
|
||||
{
|
||||
this.actualSelectedSewer = actualSelectedSewer;
|
||||
schaeden = unitOfWork.SchaedenRepository.Get(x => x.Sewer.Equals(actualSelectedSewer)).ToList();
|
||||
}
|
||||
|
||||
public Schaeden NeueSchaden()
|
||||
{
|
||||
Guid guid = Guid.NewGuid();
|
||||
Schaeden neueSchaden = new Schaeden()
|
||||
{
|
||||
GuidNr = guid,
|
||||
Sewer = actualSelectedSewer
|
||||
};
|
||||
unitOfWork.SchaedenRepository.Update(neueSchaden,false);
|
||||
unitOfWork.Commit();
|
||||
|
||||
List<Schaeden> res = unitOfWork.SchaedenRepository.Get(x => x.GuidNr.Equals(guid)).ToList();
|
||||
if (res.Count < 1) throw new Exception("Der zuvor eingefügte Schäden konnte nicht gefunden werden");
|
||||
return res.First();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user