From 0ffa73a8e2c8b2680f535f46f202e32ffd17dc44 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Mon, 2 Aug 2021 07:34:51 +0200 Subject: [PATCH] MH: Letzte Bugs bei Umbenennen-Funktion gefixt --- BeWo/View/Detail/DateiBearbeiten.xaml.cs | 9 +++- BeWo/View/Master/DokumenteView.xaml.cs | 47 +++++++++---------- .../FielAttachmentDC_FileAttachment.cs | 1 + Service/Dokumentverwaltung/DokumentManager.cs | 11 +++-- 4 files changed, 38 insertions(+), 30 deletions(-) diff --git a/BeWo/View/Detail/DateiBearbeiten.xaml.cs b/BeWo/View/Detail/DateiBearbeiten.xaml.cs index cdfff4d8e..59ec504bf 100644 --- a/BeWo/View/Detail/DateiBearbeiten.xaml.cs +++ b/BeWo/View/Detail/DateiBearbeiten.xaml.cs @@ -55,17 +55,22 @@ namespace BeWo.View.Detail string name = Textbox_Dateiname.Text; string description = Textbox_Beschreibung.Text; - FileAttachmentVM dateiBearbeitet = Datei; + FileAttachmentVM dateiBearbeitet = new FileAttachmentVM(Datei.DataContract); + dateiBearbeitet.FileName = name; dateiBearbeitet.DataContract.FileName = name; dateiBearbeitet.Description = description; dateiBearbeitet.DataContract.Description = description; - if (Datei.Equals(dateiBearbeitet)) + if (Datei.FileName.Equals(dateiBearbeitet.FileName) && Datei.Description.Equals(dateiBearbeitet.Description)) + { ButtonCancelClicked?.Invoke(); + return; + } var newDC = ServiceFacade.DoOperationsServiceSync(s => s.UpdateFileAttachment(dateiBearbeitet.DataContract)); AktualisierteDatei = new FileAttachmentVM(newDC); + var AktualisierteDatei2 = dateiBearbeitet; ButtonSaveClicked?.Invoke(); } diff --git a/BeWo/View/Master/DokumenteView.xaml.cs b/BeWo/View/Master/DokumenteView.xaml.cs index 6aad5cd0c..8006ae063 100644 --- a/BeWo/View/Master/DokumenteView.xaml.cs +++ b/BeWo/View/Master/DokumenteView.xaml.cs @@ -874,18 +874,7 @@ namespace BeWo.View.Master if (selected == null) return; - var vmList = new List(); - - if (selected.DataContract.FilesInFolder != null) - { - List list = selected.DataContract.FilesInFolder; - foreach (var file in list) - { - vmList.Add(new FileAttachmentVM(file)); - } - } - - datagrid_documents.ItemsSource = vmList; + SetItemSourceForFileGrid(selected); } } private void DeleteButton_Click(object sender, RoutedEventArgs e) @@ -907,7 +896,8 @@ namespace BeWo.View.Master ServiceFacade.DoOperationsServiceAsync(s => s.DeleteFileAttachment(selectedFile.DataContract.FileAttachmentOid.Value, selectedFile.DataContract.FileAttachmentVersion.Value)); row.DataContract.FilesInFolder.Remove(selectedFile.DataContract); row.DataContract.BeWoFolderDC.Files.Remove(selectedFile.DataContract); - this.datagrid_documents.ItemsSource = row.DataContract.FilesInFolder; + + SetItemSourceForFileGrid(row); } } private void EditButton_Click(object sender, RoutedEventArgs e) @@ -925,7 +915,7 @@ namespace BeWo.View.Master var beWoWindow = new BeWoWindow { - rootGroupBox = { Header = "Datei \"" + selectedFile.FileName + "\" bearbeiten" }, + rootGroupBox = { Header = "Datei bearbeiten" }, Height = 100, Width = 400, MinWidth = 300, @@ -948,10 +938,7 @@ namespace BeWo.View.Master row.DataContract.FilesInFolder = row.DataContract.FilesInFolder.OrderBy(f => f.InsertedOn).ToList(); - this.datagrid_documents.ItemsSource = null; - this.datagrid_documents.ItemsSource = row.DataContract.FilesInFolder; - - this.datagrid_documents.SelectedItem = null; + SetItemSourceForFileGrid(row); beWoWindow.Close(); return; @@ -963,14 +950,24 @@ namespace BeWo.View.Master }; beWoWindow.ShowDialog(); + } - //if (selectedFile.DataContract.FileAttachmentOid != null) - //{ - // ServiceFacade.DoOperationsServiceAsync(s => s.DeleteFileAttachment(selectedFile.DataContract.FileAttachmentOid.Value, selectedFile.DataContract.FileAttachmentVersion.Value)); - // row.DataContract.FilesInFolder.Remove(selectedFile.DataContract); - // row.DataContract.BeWoFolderDC.Files.Remove(selectedFile.DataContract); - // this.datagrid_documents.ItemsSource = row.DataContract.FilesInFolder; - //} + private void SetItemSourceForFileGrid(DocumentTreeItemVM row) + { + this.datagrid_documents.ItemsSource = null; + + var vmList = new List(); + + if (row.DataContract.FilesInFolder != null) + { + List list = row.DataContract.FilesInFolder; + foreach (var file in list) + { + vmList.Add(new FileAttachmentVM(file)); + } + } + + datagrid_documents.ItemsSource = vmList; } private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e) diff --git a/Service/DCEntityMapper/FielAttachmentDC_FileAttachment.cs b/Service/DCEntityMapper/FielAttachmentDC_FileAttachment.cs index 64506a355..db3add6ca 100644 --- a/Service/DCEntityMapper/FielAttachmentDC_FileAttachment.cs +++ b/Service/DCEntityMapper/FielAttachmentDC_FileAttachment.cs @@ -33,6 +33,7 @@ namespace BeWo.Service.DCEntityMapper pEntity.Oid = pDataContract.FileAttachmentOid; pEntity.Notice = pDataContract.Description; + pEntity.Path = pDataContract.FileName; pEntity.IsLocked = pDataContract.IsLocked; pEntity.LockedBy = pDataContract.LockedBy; pEntity.BeWoFolderOid = pDataContract.BeWoFolderOid; diff --git a/Service/Dokumentverwaltung/DokumentManager.cs b/Service/Dokumentverwaltung/DokumentManager.cs index b07a9176e..7eca22ec6 100644 --- a/Service/Dokumentverwaltung/DokumentManager.cs +++ b/Service/Dokumentverwaltung/DokumentManager.cs @@ -134,12 +134,17 @@ namespace BeWo.Service.Dokumentverwaltung } public static FileAttachmentDC UpdateFileAttachment(FileAttachmentDC file) { - var origFile = DAOFactory.GenericDAO.LoadByID(file.FileAttachmentOid.Value); - MapperFactory.FileAttachmentDC_FileAttachmentInfo.MergeWithEntity(file, origFile); + var origFile = DAOFactory.GenericDAO.LoadByID(file.FileAttachmentOid.Value); + //var origFile = DAOFactory.GenericDAO.LoadByID(file.FileAttachmentOid.Value); + + //MapperFactory.FileAttachmentDC_FileAttachmentInfo.MergeWithEntity(file, origFile); // Bei Fehlern wieder einkommentieren + MapperFactory.FileAttachmentDC_FileAttachment.MergeWithEntity(file, origFile); // Bei Fehlern auskommentieren DAOFactory.GenericDAO.Update(origFile); - FileAttachmentDC updatedFileDC = MapperFactory.FileAttachmentDC_FileAttachmentInfo.MapToNewDC(origFile); + //FileAttachmentDC updatedFileDC = MapperFactory.FileAttachmentDC_FileAttachmentInfo.MapToNewDC(origFile); // Bei Fehlern wieder einkommentieren + FileAttachmentDC updatedFileDC = MapperFactory.FileAttachmentDC_FileAttachment.MapToNewDC(origFile); // Bei Fehlern auskommentieren + return updatedFileDC; } public static FileAttachmentDC DoTheRealFileUpdate(FileAttachmentDC file)