From 6d1861a5818a19970126dda849253b2fb1f597c8 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Fri, 3 Jul 2020 10:20:27 +0200 Subject: [PATCH] =?UTF-8?q?WerkseitigImpr=C3=A4gnierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SanSystem/UCWerkseitigImprägniert.cs | 31 +++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/SanSystem/UCWerkseitigImprägniert.cs b/SanSystem/UCWerkseitigImprägniert.cs index 9d1eb41..b32c1f4 100644 --- a/SanSystem/UCWerkseitigImprägniert.cs +++ b/SanSystem/UCWerkseitigImprägniert.cs @@ -8,6 +8,8 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using KlassenBIB; +using System.Diagnostics; +using Database; namespace SanSystem { @@ -50,16 +52,38 @@ namespace SanSystem private void Btn_save_Click(object sender, EventArgs e) { + + WerkseitigImprägniert orginalImprägnier = null; WerkseitigImprägniert imprignier = (WerkseitigImprägniert)lst_imprägnierberichte.SelectedItem; if (imprignier == null) { MessageBox.Show("Imprignierung is null"); return; } - inliner.Imprägnierungsbericht = (WerkseitigImprägniert)lst_imprägnierberichte.SelectedItem; - if(imprignier.MitLinerSanierteObjekte == null) + if (inliner.Imprägnierungsbericht != imprignier && inliner.Imprägnierungsbericht != null) + orginalImprägnier = Datenbank.Instance.MainDatenbank.ImprägnierBerichtListe.FindLast(x => x.Imprägniernummer.Equals((inliner.Imprägnierungsbericht as WerkseitigImprägniert).Imprägniernummer)); + + inliner.Imprägnierungsbericht = imprignier; + + if (orginalImprägnier != null) + { + //Debugger.Break(); + //Imprägnierungsbericht hat sich geändert, aus alte Liste löschen + if (orginalImprägnier.MitLinerSanierteObjekte != null) + { + SanierteObjekte sanierteObjekte = orginalImprägnier.MitLinerSanierteObjekte.FindLast(x => x.Projektnummer.Equals(Global.Instance.ProjektNummer)); + if (sanierteObjekte != null) + { + Inspektionsobjekt inspektionsobjekt = sanierteObjekte.Objekt.FindLast(x => x.Guid.Equals(inliner.Inspektionsobjekt.Guid)); + sanierteObjekte.Objekt.Remove(inspektionsobjekt); + } + } + } + bool neu = false; + if (imprignier.MitLinerSanierteObjekte == null) { imprignier.MitLinerSanierteObjekte = new List(); + neu = true; } SanierteObjekte objekt = null; if(imprignier.MitLinerSanierteObjekte.Count > 0) @@ -77,7 +101,8 @@ namespace SanSystem if (objekt.Objekt.FindAll(x => x.Guid.Equals(inliner.Inspektionsobjekt.Guid)).Count < 1) { objekt.Objekt.Add(inliner.Inspektionsobjekt); - imprignier.MitLinerSanierteObjekte.Add(objekt); + if(neu) + imprignier.MitLinerSanierteObjekte.Add(objekt); } } }