ObjekteListe angefangen
This commit is contained in:
72
KanSan.ViewModel/Objekte/ObjekteAddViewModel.cs
Normal file
72
KanSan.ViewModel/Objekte/ObjekteAddViewModel.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel.Objekte
|
||||
{
|
||||
public class ObjekteAddViewModel
|
||||
{
|
||||
IUnitOfWork unitOfWork;
|
||||
private Baustelle baustelle;
|
||||
|
||||
public string PunktOben { get; set; }
|
||||
public string PunktUnten { get; set; }
|
||||
public string Strasse { get; set; }
|
||||
public int DN { get; set; }
|
||||
public bool InBetrieb { get; set; }
|
||||
|
||||
|
||||
public ObjekteAddViewModel(Baustelle baustelle)
|
||||
{
|
||||
this.baustelle = baustelle;
|
||||
unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
}
|
||||
|
||||
public void Hinzufügen()
|
||||
{
|
||||
SewerPoint PointOben = getPoint(PunktOben,true);
|
||||
SewerPoint PointUnten = getPoint(PunktUnten,true);
|
||||
|
||||
|
||||
Sewer newSewer = new Sewer();
|
||||
newSewer.Baustelle = baustelle;
|
||||
newSewer.GuidNr = Guid.NewGuid();
|
||||
newSewer.PunktOben = PointOben;
|
||||
newSewer.PunktUnten = PointUnten;
|
||||
newSewer.DN = DN;
|
||||
newSewer.RohrleitungInBetrieb = InBetrieb;
|
||||
newSewer.StrasseName = Strasse;
|
||||
newSewer.ObjektNummer = PunktOben;
|
||||
|
||||
unitOfWork.KanaeleRepository.Update(newSewer);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
|
||||
private SewerPoint getPoint(string objektnummer, bool createIfNotFound = false)
|
||||
{
|
||||
List<SewerPoint> sewerPoints = unitOfWork.ObjekteRepository.Get(x => x.Objektnummer.Equals(objektnummer)).ToList();
|
||||
if (sewerPoints.Count < 1)
|
||||
{
|
||||
if (createIfNotFound == false)
|
||||
return null;
|
||||
else
|
||||
{
|
||||
Guid guidNr = Guid.NewGuid();
|
||||
unitOfWork.ObjekteRepository.Update(new SewerPoint()
|
||||
{
|
||||
Objektnummer = objektnummer,
|
||||
GuidNr = guidNr
|
||||
});
|
||||
unitOfWork.Commit();
|
||||
|
||||
return unitOfWork.ObjekteRepository.Get(x => x.GuidNr.Equals(guidNr)).ToList().First();
|
||||
}
|
||||
}
|
||||
return sewerPoints.First();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user