diff --git a/KanSan.Base/Interfaces/UI/ISchaedenListViewModel.cs b/KanSan.Base/Interfaces/UI/ISchaedenListViewModel.cs index f3d0d24..3f8e8f8 100644 --- a/KanSan.Base/Interfaces/UI/ISchaedenListViewModel.cs +++ b/KanSan.Base/Interfaces/UI/ISchaedenListViewModel.cs @@ -7,6 +7,6 @@ namespace KanSan.Base.Interfaces.UI { public interface ISchaedenListViewModel { - List Schaeden { get; set; } + List Schaeden { get;} } } diff --git a/KanSan.ViewModel/KanSan.ViewModel.csproj b/KanSan.ViewModel/KanSan.ViewModel.csproj index 56ad98f..ce73efd 100644 --- a/KanSan.ViewModel/KanSan.ViewModel.csproj +++ b/KanSan.ViewModel/KanSan.ViewModel.csproj @@ -22,10 +22,6 @@ - - - - diff --git a/KanSan.ViewModel/SchaedenEditViewModel.cs b/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs similarity index 73% rename from KanSan.ViewModel/SchaedenEditViewModel.cs rename to KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs index 404a20b..4ebe756 100644 --- a/KanSan.ViewModel/SchaedenEditViewModel.cs +++ b/KanSan.ViewModel/Schaeden/SchaedenEditViewModel.cs @@ -2,9 +2,11 @@ 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 @@ -17,6 +19,7 @@ namespace KanSan.ViewModel bool rissbruchscherbe; bool einragendeStutzen; ESanierung sanierungstyp; + private Schaeden model; #region GetSetters public decimal Entfernung @@ -78,5 +81,27 @@ namespace KanSan.ViewModel } } #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(); + } + + } } diff --git a/KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs b/KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs new file mode 100644 index 0000000..f497470 --- /dev/null +++ b/KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs @@ -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; + + + public List 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 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(); + } + } +} diff --git a/KanSan.ViewModel/SchaedenListViewModel.cs b/KanSan.ViewModel/SchaedenListViewModel.cs deleted file mode 100644 index 08207aa..0000000 --- a/KanSan.ViewModel/SchaedenListViewModel.cs +++ /dev/null @@ -1,22 +0,0 @@ -using KanSan.Base.Interfaces.UI; -using KanSan.Base.Models; -using System; -using System.Collections.Generic; -using System.Text; - -namespace KanSan.ViewModel -{ - public class SchaedenListViewModel : ISchaedenListViewModel - { - private Sewer actualSelectedSewer; - - - - public List Schaeden { get => actualSelectedSewer.Schaeden; set => throw new NotImplementedException(); } - - public SchaedenListViewModel(Sewer actualSelectedSewer) - { - this.actualSelectedSewer = actualSelectedSewer; - } - } -} diff --git a/KanSan.ViewModel/SewerMainMenuViewModel.cs b/KanSan.ViewModel/SewerMainMenuViewModel.cs index 8e66e25..edb0052 100644 --- a/KanSan.ViewModel/SewerMainMenuViewModel.cs +++ b/KanSan.ViewModel/SewerMainMenuViewModel.cs @@ -9,12 +9,17 @@ namespace KanSan.ViewModel public class SewerMainMenuViewModel : PropertyChangedClass,INotifyPropertyChanged { private Sewer model; + + public Sewer Objekt + { + get => model; + } public string ObjektBezeichnung { get { - return model.ObjektNummer; + return string.Format("{0} ({1})",model.ObjektNummer,model.StrasseName); } } diff --git a/KanSan/KanSan.csproj.user b/KanSan/KanSan.csproj.user index e614783..84fa755 100644 --- a/KanSan/KanSan.csproj.user +++ b/KanSan/KanSan.csproj.user @@ -43,7 +43,7 @@ Code - + Code @@ -90,7 +90,7 @@ Designer - + Designer diff --git a/KanSan/MainWindow.xaml b/KanSan/MainWindow.xaml index 43c6963..5334c4b 100644 --- a/KanSan/MainWindow.xaml +++ b/KanSan/MainWindow.xaml @@ -32,7 +32,6 @@ - diff --git a/KanSan/MainWindow.xaml.cs b/KanSan/MainWindow.xaml.cs index 0d99358..d83c36f 100644 --- a/KanSan/MainWindow.xaml.cs +++ b/KanSan/MainWindow.xaml.cs @@ -117,28 +117,7 @@ namespace KanSan uCSewerMainMenu = new UI.UCSewerMainMenu(e.Objekt); - uCSewerMainMenu.SewerMainMenuSelected += UCSewerMainMenu_SewerMainMenuSelected; - SewerMainMenu.Content = uCSewerMainMenu; - - } - - private void UCSewerMainMenu_SewerMainMenuSelected(object sender, UI.SewerMainMenuItemSelectedEventArgs e) - { - Sewer actualSelectedSewer = (DataContext as MainWindowViewModel).SelectedObjekt; - switch(e.Command) - { - case UI.ESewerMainMenuCommand.STAMMDATEN: - ContentController.Content = new UI.UCObjektEdit(actualSelectedSewer); - break; - - case UI.ESewerMainMenuCommand.SCHAEDEN: - ContentController.Content = new UI.UCSchaedenList(actualSelectedSewer); - break; - - case UI.ESewerMainMenuCommand.NONE: - ContentController.Content = "Wird nicht unterstützt"; - break; - } + ContentController.Content = uCSewerMainMenu; } diff --git a/KanSan/UI/Schäden/UCSchaedenEdit.xaml b/KanSan/UI/Schäden/UCSchaedenEdit.xaml index ede6eda..46e5600 100644 --- a/KanSan/UI/Schäden/UCSchaedenEdit.xaml +++ b/KanSan/UI/Schäden/UCSchaedenEdit.xaml @@ -31,8 +31,11 @@