diff --git a/KanSan.Base/Interfaces/UI/ILeistungsverzeichnisPositionViewModel.cs b/KanSan.Base/Interfaces/UI/ILeistungsverzeichnisPositionViewModel.cs
index 4412d16..3b724c5 100644
--- a/KanSan.Base/Interfaces/UI/ILeistungsverzeichnisPositionViewModel.cs
+++ b/KanSan.Base/Interfaces/UI/ILeistungsverzeichnisPositionViewModel.cs
@@ -10,5 +10,6 @@ namespace KanSan.Base.Interfaces.UI
public string Beschreibung { get; set; }
public string Einheit { get; set; }
public string Tag { get; set; }
+ public bool HatGüteschutzProtokoll { get; set; }
}
}
diff --git a/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs b/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
index a59fc99..fbec723 100644
--- a/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
+++ b/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
@@ -14,6 +14,7 @@ namespace KanSan.Base.Interfaces.UI
decimal Anzahl { get; set; }
string Bemerkung { get; set; }
bool HatGueteschutzProtokoll { get; }
+ void LöscheErledigt();
LeistungsverzeichnisPosition Leistungsverzeichnis { get; set; }
}
}
diff --git a/KanSan.ViewModel/KanSan.ViewModel.csproj.user b/KanSan.ViewModel/KanSan.ViewModel.csproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/KanSan.ViewModel/KanSan.ViewModel.csproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs
index ee1d52a..2e9a8ae 100644
--- a/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs
+++ b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs
@@ -18,6 +18,7 @@ namespace KanSan.ViewModel
string beschreibung;
string einheit;
string tag;
+ bool hatGüteschutzProtokoll;
public string Positionsnummer
{
@@ -60,6 +61,17 @@ namespace KanSan.ViewModel
}
}
+ public bool HatGüteschutzProtokoll
+ {
+ get => hatGüteschutzProtokoll;
+ set
+ {
+ if (hatGüteschutzProtokoll == value) return;
+ hatGüteschutzProtokoll = value;
+ OnPropertyChanged();
+ }
+ }
+
public LeistungsverzeichnisPositionViewModel(LeistungsverzeichnisPosition position)
{
this.model = position;
@@ -67,6 +79,7 @@ namespace KanSan.ViewModel
beschreibung = model.Beschreibung;
einheit = model.Einheit;
tag = model.Tag;
+ hatGüteschutzProtokoll = model.HatGueteschutzProtokol;
}
public void Speichern()
@@ -75,6 +88,7 @@ namespace KanSan.ViewModel
model.Beschreibung = beschreibung;
model.Einheit = einheit;
model.Tag = tag;
+ model.HatGueteschutzProtokol = hatGüteschutzProtokoll;
unitOfWork.LeistungsverzeichnisRepository.Update(model);
unitOfWork.Commit();
diff --git a/KanSan.ViewModel/Schaeden/SchadenViewModel.cs b/KanSan.ViewModel/Schaeden/SchadenViewModel.cs
new file mode 100644
index 0000000..2ef7cf0
--- /dev/null
+++ b/KanSan.ViewModel/Schaeden/SchadenViewModel.cs
@@ -0,0 +1,54 @@
+using KanSan.Base.Models;
+using System;
+using System.Text;
+
+namespace KanSan.ViewModel
+{
+ public class SchaedenViewModel
+ {
+ Schaeden model;
+
+ bool RissBruchScherbe;
+ bool WurzelInkrustationAblagerungen;
+ bool StutzenEinragend;
+ bool Infiltration;
+ /*
+ bool VorbehandeltHD;
+ bool VorbehandeltMech;
+ bool VorbehandeltFraeser;
+ bool SchadstelleFaekalienFrei;
+ */
+ decimal Entfernung;
+
+ public SchaedenViewModel(Schaeden schaden)
+ {
+ model = schaden;
+
+ RissBruchScherbe = model.RissBruchScherbe;
+ WurzelInkrustationAblagerungen = model.WurzelInkrustationAblagerungen;
+ StutzenEinragend = model.StutzenEinragend;
+ Infiltration = model.Infiltration;
+ Entfernung = model.Entfernung;
+ }
+
+ public override string ToString()
+ {
+ StringBuilder result = new StringBuilder();
+
+ result.Append(string.Format("Schaden bei {0} m",Entfernung));
+ result.Append(" ");
+ if (RissBruchScherbe)
+ result.Append("Riss / Bruch / Scherbe ");
+ if (StutzenEinragend)
+ result.Append("& Einragende Stutzen ");
+ if (WurzelInkrustationAblagerungen)
+ result.Append("& Wurzeln / Inkrustationen / Ablagerungen ");
+ if (Infiltration)
+ result.Append("& Eindringen von Grundwasser");
+
+ return result.ToString();
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/KanSan.ViewModel/SewerMainMenuViewModel.cs b/KanSan.ViewModel/SewerMainMenuViewModel.cs
index edb0052..b143bab 100644
--- a/KanSan.ViewModel/SewerMainMenuViewModel.cs
+++ b/KanSan.ViewModel/SewerMainMenuViewModel.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Diagnostics;
using System.Text;
namespace KanSan.ViewModel
@@ -9,6 +10,9 @@ namespace KanSan.ViewModel
public class SewerMainMenuViewModel : PropertyChangedClass,INotifyPropertyChanged
{
private Sewer model;
+ private SchaedenViewModel schadenViewModel;
+ private Schaeden schaden;
+
public Sewer Objekt
{
@@ -23,6 +27,36 @@ namespace KanSan.ViewModel
}
}
+ public Schaeden Schaden
+ {
+ set
+ {
+ if (schaden == value) return;
+ schaden = value;
+ schadenViewModel = new SchaedenViewModel(schaden);
+ OnPropertyChanged("SchadenEntfernung");
+ }
+ }
+
+ public string SchadenEntfernung
+ {
+ get
+ {
+ Trace.WriteLine("Entfernung Schaden abgerufen");
+ if (schaden == null) return string.Empty;
+ return string.Format(schadenViewModel.ToString());
+ }
+ /*set
+ {
+ schadenEntfernung = value;
+ Trace.WriteLine("Entfernung Schaden gesetzt");
+ OnPropertyChanged();
+ }
+ */
+ }
+
+
+
public SewerMainMenuViewModel(Sewer model)
{
diff --git a/KanSan.ViewModel/TaetigkeitEditViewModel.cs b/KanSan.ViewModel/TaetigkeitEditViewModel.cs
index b9942f9..f42765b 100644
--- a/KanSan.ViewModel/TaetigkeitEditViewModel.cs
+++ b/KanSan.ViewModel/TaetigkeitEditViewModel.cs
@@ -103,6 +103,7 @@ namespace KanSan.ViewModel
bemerkung = model.Bemerkung;
fahrzeug = model.Fahrzeug;
leistungsverzeichnis = model.LeistungsverzeichnisPosition;
+ hatGueteschutzProtokoll = model.LeistungsverzeichnisPosition == null? false: model.LeistungsverzeichnisPosition.HatGueteschutzProtokol;
IEnumerable baustelleLeistungsverzeichnis = unitOfWork.LeistungsverzeichnisReferenz.Get(x => x.Baustelle.Equals(MainWindowViewModel.Baustelle),includeProperties:"LVPosition");
lvPositionen = new List();
@@ -117,6 +118,12 @@ namespace KanSan.ViewModel
var x = LVPositionen.Equals(leistungsverzeichnis);
}
+ public void LöscheErledigt()
+ {
+ zeitStempel = DateTime.MinValue;
+ Mitarbeiter = String.Empty;
+ }
+
public void Speichern()
{
model.Mitarbeiter = mitarbeiter;
diff --git a/KanSan/App.xaml b/KanSan/App.xaml
index 6ba3ce5..95d8c7c 100644
--- a/KanSan/App.xaml
+++ b/KanSan/App.xaml
@@ -5,17 +5,14 @@
xmlns:local="clr-namespace:KanSan"
StartupUri="MainWindow.xaml">
+
+
+
+
+
-
-
-
+
diff --git a/KanSan/IstFertigZuBackgroundConverter.cs b/KanSan/IstFertigZuBackgroundConverter.cs
new file mode 100644
index 0000000..3e097e3
--- /dev/null
+++ b/KanSan/IstFertigZuBackgroundConverter.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Text;
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace KanSan
+{
+ public class IstFertigZuBackgroundConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ var istFertig = (bool)value;
+ if (istFertig)
+ return Brushes.Green;
+ return Brushes.Blue;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/KanSan/IstFertigZuTextConverter.cs b/KanSan/IstFertigZuTextConverter.cs
new file mode 100644
index 0000000..f879ae9
--- /dev/null
+++ b/KanSan/IstFertigZuTextConverter.cs
@@ -0,0 +1,26 @@
+using Syncfusion.Windows.Shared;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Text;
+using System.Windows.Data;
+
+namespace KanSan
+{
+ class IstFertigZuTextConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ DateTime dateTime = (DateTime)value;
+ if (dateTime != null && dateTime != DateTime.MinValue)
+ return string.Format("(Erledigt am {0})",dateTime.ToShortDateString());
+ return "";
+
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/KanSan/KanSan.csproj.user b/KanSan/KanSan.csproj.user
index 679e7e8..c5da6b8 100644
--- a/KanSan/KanSan.csproj.user
+++ b/KanSan/KanSan.csproj.user
@@ -75,6 +75,9 @@
Designer
+
+ Designer
+
Designer
diff --git a/KanSan/Resources.xaml b/KanSan/Resources.xaml
new file mode 100644
index 0000000..c66c313
--- /dev/null
+++ b/KanSan/Resources.xaml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/KanSan/SampleData/LeistungsverzeichnisPositionViewModelSampleData.cs b/KanSan/SampleData/LeistungsverzeichnisPositionViewModelSampleData.cs
index 5b36cc5..31e0918 100644
--- a/KanSan/SampleData/LeistungsverzeichnisPositionViewModelSampleData.cs
+++ b/KanSan/SampleData/LeistungsverzeichnisPositionViewModelSampleData.cs
@@ -11,10 +11,12 @@ namespace KanSan.SampleData
string beschreibung;
string einheit;
string tag;
+ bool hatGüteschutzprotokoll;
public string Positionsnummer { get => positionnummer; set => throw new NotImplementedException(); }
public string Beschreibung { get => beschreibung; set => throw new NotImplementedException(); }
public string Einheit { get => einheit; set => throw new NotImplementedException(); }
public string Tag { get => tag; set => throw new NotImplementedException(); }
+ public bool HatGüteschutzProtokoll { get => hatGüteschutzprotokoll; set => throw new NotImplementedException(); }
public LeistungsverzeichnisPositionViewModelSampleData()
{
@@ -22,6 +24,7 @@ namespace KanSan.SampleData
beschreibung = "TV Inspektion DN200";
einheit = "M";
tag = "JMStandard";
+ hatGüteschutzprotokoll = true;
}
}
}
diff --git a/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs b/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs
index 58d4416..627afac 100644
--- a/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs
+++ b/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs
@@ -1,6 +1,7 @@
using KanSan.Base.Enums;
using KanSan.Base.Interfaces.UI;
using KanSan.Base.Models;
+using Syncfusion.Windows.Shared;
using System;
using System.Collections.Generic;
using System.Text;
@@ -20,11 +21,27 @@ namespace KanSan.SampleData
{
for (int i = 0; i < 10; i++)
{
+ DateTime timestamp;
+ if (i % 2 == 0)
+ {
+ timestamp = DateTime.Now;
+ }
+ else
+ {
+ timestamp = DateTime.MinValue;
+ }
taetigkeiten.Add(new Base.Models.Taetigkeiten()
{
+
GuidNr = Guid.NewGuid(),
Anzahl = 2m,
- Bemerkung = "Test"
+ ZeitStempel = timestamp,
+ Bemerkung = "Test",
+ LeistungsverzeichnisPosition = new LeistungsverzeichnisPosition()
+ {
+ Beschreibung = "TV Inspektion"
+ }
+
}) ;
}
diff --git a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml
index f7bf938..d2ee300 100644
--- a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml
+++ b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml
@@ -7,6 +7,13 @@
xmlns:sd="clr-namespace:KanSan.SampleData"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
+
+
+
+
+
+
+
@@ -22,17 +29,20 @@
+
+
-
+
+
diff --git a/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml b/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
index e6fa059..164cef3 100644
--- a/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
+++ b/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
@@ -23,8 +23,11 @@
+
+
+
diff --git a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
index 2b8e453..b94ca02 100644
--- a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
+++ b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
@@ -18,7 +18,7 @@
-
+
@@ -51,6 +51,7 @@
+
+
+
@@ -33,6 +39,6 @@
-
+
diff --git a/KanSan/UI/UCSewerMainWindow.xaml.cs b/KanSan/UI/UCSewerMainWindow.xaml.cs
index 66924e5..405c279 100644
--- a/KanSan/UI/UCSewerMainWindow.xaml.cs
+++ b/KanSan/UI/UCSewerMainWindow.xaml.cs
@@ -27,6 +27,7 @@ namespace KanSan.UI
this.DataContext = new SewerMainMenuViewModel(objekt);
UI.UCObjektEdit uCObjektEdit = new UCObjektEdit(objekt);
ObjektContentcontroller.Content = uCObjektEdit;
+ rbStammdaten.IsChecked = true;
Style style = this.FindResource("ToggelButtonList") as Style;
@@ -64,6 +65,8 @@ namespace KanSan.UI
{
aktuellSchadenSelected = e.schaeden;
UI.UCSanMaßnahmenList uCSanMaßnahmenList = new UCSanMaßnahmenList(e.schaeden);
+ (DataContext as SewerMainMenuViewModel).Schaden = e.schaeden;
+
uCSanMaßnahmenList.TaetigkeitenSelected += UCSanMaßnahmenList_TaetigkeitenSelected;
rbSchaeden.IsChecked = false;
ObjektContentcontroller.Content = uCSanMaßnahmenList;
@@ -74,6 +77,7 @@ namespace KanSan.UI
private void UCSanMaßnahmenList_TaetigkeitenSelected(object sender, TaetigkeitenSelectEventArgs e)
{
UI.UCTaetigkeitEdit uCTaetigkeitEdit = new UCTaetigkeitEdit(e.Taetigkeit);
+ Trace.WriteLine("Taetigkeit");
uCTaetigkeitEdit.SpeichernClicked += UCTaetigkeitEdit_SpeichernClicked;
ObjektContentcontroller.Content = uCTaetigkeitEdit;
}