diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs index 7c6cf762a..73e934d67 100644 --- a/BeWo/ServiceProxy/Generated.cs +++ b/BeWo/ServiceProxy/Generated.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. // //------------------------------------------------------------------------------ @@ -2417,7 +2417,7 @@ namespace BeWo.ServiceProxy [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/UpdateWohnheim", ReplyAction="http://tempuri.org/ICustomerService/UpdateWohnheimResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/UpdateWohnheimBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] - long UpdateWohnheim(BS.Shared.DataContracts.WohnheimDC dc); + long UpdateWohnheim(BS.Shared.DataContracts.WohnheimDC dc, System.Collections.Generic.List employeeDCs); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/InsertNewWohnheim", ReplyAction="http://tempuri.org/ICustomerService/InsertNewWohnheimResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/InsertNewWohnheimBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] @@ -3329,9 +3329,9 @@ namespace BeWo.ServiceProxy base.Channel.DeactivateWohnheim(pOid, pVersion); } - public long UpdateWohnheim(BS.Shared.DataContracts.WohnheimDC dc) + public long UpdateWohnheim(BS.Shared.DataContracts.WohnheimDC dc, System.Collections.Generic.List employeeDCs) { - return base.Channel.UpdateWohnheim(dc); + return base.Channel.UpdateWohnheim(dc, employeeDCs); } public long InsertNewWohnheim(BS.Shared.DataContracts.WohnheimDC pWohnheimDC) @@ -3807,24 +3807,24 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UpdateBeWoFoldersBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] void UpdateBeWoFolders(System.Collections.Generic.List dcs); - // CODEGEN: Generating message contract since the wrapper name (UploadPackage) of message UploadPackage does not match the default value (UploadDocument) + // CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadPackage) von Nachricht "UploadPackage" nicht mit dem Standardwert (UploadDocument) übereinstimmt. [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadDocument", ReplyAction="http://tempuri.org/IStreamingService/UploadDocumentResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadDocumentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BeWo.ServiceProxy.UploadResult UploadDocument(BeWo.ServiceProxy.UploadPackage request); - // CODEGEN: Generating message contract since the wrapper name (UpdatePackage) of message UpdatePackage does not match the default value (UpdateDocument) + // CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UpdatePackage) von Nachricht "UpdatePackage" nicht mit dem Standardwert (UpdateDocument) übereinstimmt. [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UpdateDocument", ReplyAction="http://tempuri.org/IStreamingService/UpdateDocumentResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UpdateDocumentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BeWo.ServiceProxy.UploadResult UpdateDocument(BeWo.ServiceProxy.UpdatePackage request); - // CODEGEN: Generating message contract since the wrapper name (UploadChatPackage) of message UploadChatPackage does not match the default value (CreateNewSpeziallStreamChatMessagesDC) + // CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadChatPackage) von Nachricht "UploadChatPackage" nicht mit dem Standardwert (CreateNewSpeziallStreamChatMessagesDC) übereinstimmt. [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDC", ReplyAction="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDCRespons" + "e")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDCBeWoFau" + "ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BeWo.ServiceProxy.UploadChatResult CreateNewSpeziallStreamChatMessagesDC(BeWo.ServiceProxy.UploadChatPackage request); - // CODEGEN: Generating message contract since the wrapper name (UploadPackage) of message UploadPackage does not match the default value (UploadImportFile) + // CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadPackage) von Nachricht "UploadPackage" nicht mit dem Standardwert (UploadImportFile) übereinstimmt. [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadImportFile", ReplyAction="http://tempuri.org/IStreamingService/UploadImportFileResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadImportFileBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BeWo.ServiceProxy.UploadImportFileResult UploadImportFile(BeWo.ServiceProxy.UploadPackage request); @@ -4382,6 +4382,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDownloadService/CreateQuery", ReplyAction="http://tempuri.org/IDownloadService/CreateQueryResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IDownloadService/CreateQueryBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BS.Shared.DataContracts.QueryDC CreateQuery(BS.Shared.DataContracts.QueryDC query); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDownloadService/GetFileAttachmentForMobile", ReplyAction="http://tempuri.org/IDownloadService/GetFileAttachmentForMobileResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IDownloadService/GetFileAttachmentForMobileBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + BS.Shared.DataContracts.FileAttachmentDC GetFileAttachmentForMobile(long oid, string tenant); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -4482,6 +4486,11 @@ namespace BeWo.ServiceProxy { return base.Channel.CreateQuery(query); } + + public BS.Shared.DataContracts.FileAttachmentDC GetFileAttachmentForMobile(long oid, string tenant) + { + return base.Channel.GetFileAttachmentForMobile(oid, tenant); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -5196,6 +5205,13 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/CheckForExistingSignatureBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] BS.Shared.DataContracts.ServiceRecordValidationResultDC CheckForExistingSignature(BS.Shared.DataContracts.ServiceRecordDC serviceRecord); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteRegelmaessigeDiensteOfRemovedEmployee" + + "", ReplyAction="http://tempuri.org/IOperationsService/DeleteRegelmaessigeDiensteOfRemovedEmployee" + + "Response")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteRegelmaessigeDiensteOfRemovedEmployee" + + "BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + void DeleteRegelmaessigeDiensteOfRemovedEmployee(System.Collections.Generic.List employee, long wOid); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateBudget", ReplyAction="http://tempuri.org/IOperationsService/UpdateBudgetResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateBudgetBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] void UpdateBudget(System.Collections.Generic.List budgets); @@ -6543,6 +6559,11 @@ namespace BeWo.ServiceProxy return base.Channel.CheckForExistingSignature(serviceRecord); } + public void DeleteRegelmaessigeDiensteOfRemovedEmployee(System.Collections.Generic.List employee, long wOid) + { + base.Channel.DeleteRegelmaessigeDiensteOfRemovedEmployee(employee, wOid); + } + public void UpdateBudget(System.Collections.Generic.List budgets) { base.Channel.UpdateBudget(budgets); @@ -8537,6 +8558,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateKilometerauswertungForAllCustomersForWebV" + "ersionBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.IO.MemoryStream CreateKilometerauswertungForAllCustomersForWebVersion(System.Collections.Generic.List customerOids, System.DateTime rangeDate, string tenant); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateMedikamentenlistenReport", ReplyAction="http://tempuri.org/IReportService/CreateMedikamentenlistenReportResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateMedikamentenlistenReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.IO.MemoryStream CreateMedikamentenlistenReport(long mvlOid, string tenant); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -8642,6 +8667,11 @@ namespace BeWo.ServiceProxy { return base.Channel.CreateKilometerauswertungForAllCustomersForWebVersion(customerOids, rangeDate, tenant); } + + public System.IO.MemoryStream CreateMedikamentenlistenReport(long mvlOid, string tenant) + { + return base.Channel.CreateMedikamentenlistenReport(mvlOid, tenant); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] diff --git a/BeWo/View/Detail/Report/DienstplanerView.xaml.cs b/BeWo/View/Detail/Report/DienstplanerView.xaml.cs index 6fee52a75..8270c6b6b 100644 --- a/BeWo/View/Detail/Report/DienstplanerView.xaml.cs +++ b/BeWo/View/Detail/Report/DienstplanerView.xaml.cs @@ -581,17 +581,25 @@ namespace BeWo.View.Detail.Report // PopUp für das Hinzufügen mehrerer Dienste private void button_mehrereDienste_Click(object sender, RoutedEventArgs e) { - popUp_mehrereDienste.IsOpen = true; - // Mitarbeiterliste setzen List emps = new List(); foreach (var zeile in _DienstplanerRootObj.DienstZeilenListe) if (zeile.Employee != null && !emps.Contains(zeile.Employee)) emps.Add(zeile.Employee); + + if (emps.Count == 0) + { + MessageBox.Show("Fügen Sie dem Wohnheim zuerst Mitarbeiter hinzu. Es gibt keine Mitarbeiter in diesem Wohnheim, denen man " + + "Dienste zuweisen könnte!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + popUp_mehrereDienste.IsOpen = true; // Boxen mit Daten füllen combobox_mehrereDienste_mitarbeiter.ItemsSource = emps; + combobox_mehrereDienste_mitarbeiter.SelectedIndex = 0; mehrereDienste_listbox_dienste.ItemsSource = _DienstplanerRootObj.AlleDienste; + mehrereDienste_listbox_dienste.SelectedIndex = _DienstplanerRootObj.AlleDienste.Count > 1 ? 1 : 0; // Feiertage und andere Monate im Kalender disablen foreach (var tag in _DienstplanerRootObj.Feiertage) @@ -623,7 +631,7 @@ namespace BeWo.View.Detail.Report if (mitarbeiter == null) { - MessageBox.Show("Bitte wählen Sie einen Mitarbeiter aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation); + MessageBox.Show("Bitte wählen Sie einen Mitarbeiter aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); return; } @@ -699,7 +707,7 @@ namespace BeWo.View.Detail.Report Notice = notice, Startzeit = start, Endzeit = ende, - DauerInStunden = dauerInStunden - Convert.ToDouble(dienst.Pause) / 60 + DauerInStunden = dauerInStunden// - Convert.ToDouble(dienst.Pause) / 60 }; ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstEintrag(newEintrag)); if (datum.Month == _AuswahlMonat.Month) @@ -771,7 +779,7 @@ namespace BeWo.View.Detail.Report Notice = notice, Startzeit = start, Endzeit = ende, - DauerInStunden = dauerInStunden - Convert.ToDouble(dienst.Pause) / 60 + DauerInStunden = dauerInStunden// - Convert.ToDouble(dienst.Pause) / 60 }; ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstvertretung(newVertretung)); if (datum.Month == _AuswahlMonat.Month) @@ -803,7 +811,9 @@ namespace BeWo.View.Detail.Report private bool EintragAnGanzemAbwesenheitstag(DienstEintragDC eintrag, DienstvertretungDC vertretung) { bool b = false; - + if (eintrag == null && vertretung == null) + return b; + DateTime datum = eintrag != null ? eintrag.Datum : vertretung.Datum; foreach (var abs in _DienstplanerRootObj.AbsenceTimes) @@ -955,6 +965,24 @@ namespace BeWo.View.Detail.Report } else { + // Überprüfen, ob Mitarbeiter aus Wohnheim entfernt wurde, also + if (_DienstplanerRootObj.AlleDienstEintraege.Any(ei => ei.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid)) + { + popUp_RightClick.IsOpen = false; + + if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Male) + MessageBox.Show("Der Mitarbeiter wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen" + + " vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); + else if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Female) + MessageBox.Show("Die Mitarbeiterin wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diese" + + " vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); + else + MessageBox.Show("Der/Die Mitarbeiter/-in wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen/diese" + + " vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + + var vertretung = GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value, _AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer); @@ -2040,6 +2068,7 @@ namespace BeWo.View.Detail.Report } } } + RefreshGrid(); } } diff --git a/BeWo/View/Detail/WohnheimView.xaml.cs b/BeWo/View/Detail/WohnheimView.xaml.cs index c60ae3aca..3c8156944 100644 --- a/BeWo/View/Detail/WohnheimView.xaml.cs +++ b/BeWo/View/Detail/WohnheimView.xaml.cs @@ -1,4 +1,5 @@ -using System.ServiceModel; +using System.Collections.Generic; +using System.ServiceModel; using System.Windows; using System.Windows.Input; @@ -25,11 +26,13 @@ namespace BeWo.View.Detail private WohnheimVM _ViewModel; private bool initTabIndex; + private List regelmaessigeDiensteVonMitarbeiternLoeschen; - public WohnheimView(WohnheimVM pWohnheimDC) + public WohnheimView(WohnheimVM pWohnheimDC) { InitializeComponent(); ViewModel = pWohnheimDC; + regelmaessigeDiensteVonMitarbeiternLoeschen = new List(); // HACK: Force the devexpress grid to end editing when the mouse is over savebutton // by setting the focus to another element. @@ -119,8 +122,12 @@ namespace BeWo.View.Detail else { IsDoneWithInsertOrUpdate = false; - ServiceFacade.DoCustomerServiceAsync(s => s.UpdateWohnheim(lDataContract), ReloadViewModel); - } + ServiceFacade.DoCustomerServiceAsync(s => s.UpdateWohnheim(lDataContract, regelmaessigeDiensteVonMitarbeiternLoeschen), ReloadViewModel); + } + //if (regelmaessigeDiensteVonMitarbeiternLoeschen.Count > 0 && ViewModel.DataContract.WohnheimOid != null) + //{ + // ServiceFacade.DoOperationsServiceSync(s => s.DeleteRegelmaessigeDiensteOfRemovedEmployee(regelmaessigeDiensteVonMitarbeiternLoeschen, (long)ViewModel.DataContract.WohnheimOid)); + //} Cache.GetInstance().ClearEmployees(); BeWoApp.MainControl.ResetView(UIContext.Wohnheim); @@ -192,7 +199,14 @@ namespace BeWo.View.Detail public void button_removeEmployeeRelation_Click(object sender, RoutedEventArgs e) { + //if (ViewModel.DataContract.WohnheimOid.HasValue) + //{ + regelmaessigeDiensteVonMitarbeiternLoeschen.Add(grid_EmployeeRelation.GetCurrentValue().Employee); + // ServiceFacade.DoOperationsServiceSync(s => s.DeleteRegelmaessigeDiensteOfRemovedEmployee(regelmaessigeDiensteVonMitarbeiternLoeschen, (long)ViewModel.DataContract.WohnheimOid)); + // //regelmaessigeDiensteVonMitarbeiternLoeschen = new List(); + //} ViewModel.WohnheimEmployeeRelations.VMList.Remove(grid_EmployeeRelation.GetCurrentValue()); + BeWoWpfUtils.RefreshDXGrid(grid_EmployeeRelation); } diff --git a/Service/Dienstplanung/DienstplanungsManager.cs b/Service/Dienstplanung/DienstplanungsManager.cs index f6745f568..e81bac8ca 100644 --- a/Service/Dienstplanung/DienstplanungsManager.cs +++ b/Service/Dienstplanung/DienstplanungsManager.cs @@ -6,6 +6,7 @@ using BeWo.Service.Plugins; using BeWo.Service.ServiceImplementations; using BS.Shared; using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Compact; using System; using System.Collections.Generic; using System.Linq; @@ -63,15 +64,19 @@ namespace BeWo.Service.Dienstplanung List empOids = new List(); #region EmployeeOids holen für Ist- und Saldoberechnung und die Liste der vorhandenen Mitarbeiter - foreach (var item in wh.Employee2WohnheimList) - { - empOids.Add((long)item.EmployeeOid); - } - foreach (var item in root.AlleDienstvertretungen) - { - if (!empOids.Contains(item.EmployeeOid)) - empOids.Add((long)item.EmployeeOid); - } + // WIEDER EINKOMMENTIEREN FALLS FEHLER AUFTRETEN + //foreach (var item in wh.Employee2WohnheimList) + //{ + // empOids.Add((long)item.EmployeeOid); + //} + //foreach (var item in root.AlleDienstvertretungen) + //{ + // if (!empOids.Contains(item.EmployeeOid)) + // empOids.Add((long)item.EmployeeOid); + //} + + foreach (var item in root.DienstDCListe) + empOids.Add((long)item.Employee.EmployeeOid); root.AllEmployee = new List(); foreach (var block in root.DienstDCListe) @@ -86,7 +91,7 @@ namespace BeWo.Service.Dienstplanung return root; } - private static List GetRegelmaessigeDienste(long wOid) + public static List GetRegelmaessigeDienste(long wOid) { return MapperFactory.RegelmaessigerDienstDC_RegelmaessigerDienst.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive()) .Where(x => x.WohnheimOid == wOid).ToList(); @@ -527,6 +532,8 @@ namespace BeWo.Service.Dienstplanung if (abs.End.Value.Month != date.Month) abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month)); } + else + abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month)); var dauerAbwesenheit = vs.BerechneAnzahlUrlaubstage(null, abs, date.Year); if (abs.Reason.Description.ToLower().Contains("urlaub")) @@ -564,5 +571,20 @@ namespace BeWo.Service.Dienstplanung return monatsZusammenfassung; } + public static void DeleteRegelmaessigeDiensteOfRemovedEmployee(List employee, long wOid) + { + if (employee.Count > 0) + { + foreach (var emp in employee) + { + var regelmaessigenDienste = GetRegelmaessigeDienste(wOid).Where(d => d.EmployeeOid == emp.EmployeeOid); + + List entities = new List(); + foreach (var dienst in regelmaessigenDienste) + entities.Add(DAOFactory.GenericDAO.GetByID((long)dienst.Oid)); + DAOFactory.GenericDAO.Delete(entities); + } + } + } } } diff --git a/Service/ServiceContracts/ICustomerService.cs b/Service/ServiceContracts/ICustomerService.cs index 5e06cebb9..f927c6a26 100644 --- a/Service/ServiceContracts/ICustomerService.cs +++ b/Service/ServiceContracts/ICustomerService.cs @@ -171,7 +171,7 @@ namespace BeWo.Service.ServiceContracts [FaultContract(typeof(BeWoFault))] [OperationContract] - long UpdateWohnheim(WohnheimDC dc); + long UpdateWohnheim(WohnheimDC dc, List employeeDCs); [FaultContract(typeof(BeWoFault))] [OperationContract] diff --git a/Service/ServiceContracts/IOperationsService.cs b/Service/ServiceContracts/IOperationsService.cs index 9b3eaa48f..4cbc7932f 100644 --- a/Service/ServiceContracts/IOperationsService.cs +++ b/Service/ServiceContracts/IOperationsService.cs @@ -1199,5 +1199,11 @@ namespace BeWo.Service.ServiceContracts [FaultContract(typeof(BeWoFault))] [OperationContract] ServiceRecordValidationResultDC CheckForExistingSignature(ServiceRecordDC serviceRecord); + + [FaultContract(typeof(BeWoFault))] + [OperationContract] + void DeleteRegelmaessigeDiensteOfRemovedEmployee(List employee, long wOid); } + + } \ No newline at end of file diff --git a/Service/ServiceImplementations/CustomerServiceImp.cs b/Service/ServiceImplementations/CustomerServiceImp.cs index 4995b6166..c41a02f7e 100644 --- a/Service/ServiceImplementations/CustomerServiceImp.cs +++ b/Service/ServiceImplementations/CustomerServiceImp.cs @@ -9,6 +9,7 @@ using BeWo.Data.Entities; using BeWo.Data.Security; using BeWo.Service.Core; using BeWo.Service.DCEntityMapper; +using BeWo.Service.Dienstplanung; using BeWo.Service.OwnChat; using BeWo.Service.Plugins; using BeWo.Service.ServiceContracts; @@ -2587,7 +2588,7 @@ namespace BeWo.Service.ServiceImplementations } } - public long UpdateWohnheim(WohnheimDC dc)// => GOGO + public long UpdateWohnheim(WohnheimDC dc, List employeeDCs)// => GOGO { try { @@ -2596,6 +2597,8 @@ namespace BeWo.Service.ServiceImplementations MapperFactory.WohnheimDC_Wohnheim.MergeWithEntity(dc, original); DAOFactory.GenericDAO.Update(original); + if (employeeDCs.Count > 0) + DienstplanungsManager.DeleteRegelmaessigeDiensteOfRemovedEmployee(employeeDCs, (long)original.Oid); return original.Oid.Value; } diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs index 336fc0588..c495143dc 100644 --- a/Service/ServiceImplementations/OperationsServiceImp.cs +++ b/Service/ServiceImplementations/OperationsServiceImp.cs @@ -6900,6 +6900,17 @@ namespace BeWo.Service.ServiceImplementations throw Utils.CreateBeWoFaultException(e); } } + public void DeleteRegelmaessigeDiensteOfRemovedEmployee(List employee, long wOid) + { + try + { + DienstplanungsManager.DeleteRegelmaessigeDiensteOfRemovedEmployee(employee, wOid); + } + catch (Exception e) + { + throw Utils.CreateBeWoFaultException(e); + } + } public Dictionary GetAdditionalEmployeeInformationForScheduler(long empOid) {