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)
{