MoK: das Löschen einer Unterschrift in der Zeiterfassung für einen einzelnen Eintrag macht eine Monatsunterschrift doch nicht ungültig.

This commit is contained in:
2023-06-18 17:22:04 +02:00
parent 701ddc7df2
commit 3c6c7b578c
4 changed files with 19 additions and 20 deletions

View File

@@ -2036,8 +2036,6 @@ namespace BeWoPlanerMobil.Controllers
var serviceRecord2Monatsunterschrift = new ServiceRecord2Monatsunterschrift(serviceRecord, hasMonatsunterschrift);
return SerializeObject(serviceRecord2Monatsunterschrift);
return !(serviceRecord != null && Model.AllEmployees.Contains(serviceRecord.Employee)) ? null : SerializeObject(serviceRecord);
}
[Authorize]

View File

@@ -32,7 +32,7 @@
function deleteSigntarue(signatureOid, serviceRecordOid, customerName, dateOfRecord) {
try {
showMessagePopupWithCallback("Unterschrift löschen",
"Sind Sie sicher, dass Sie die Unterschrift von " + customerName + " vom " + dateOfRecord + " löschen möchten? Falls bereits eine Monatsunterschrift geleistet wurde, verfällt diese und muss erneut geleistet werden!",
"Sind Sie sicher, dass Sie die Unterschrift von " + customerName + " vom " + dateOfRecord + " löschen möchten?",
function () {
$("#sr-signature-to-del-oid-input").val(signatureOid);
$("#sr-sig-to-del-record-oid-input").val(serviceRecordOid);

View File

@@ -52,24 +52,24 @@
{
if(cro.EmployeeSignatureState == SignatureState.Some)
{
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br />Ihre Unterschrift muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br /><br />Ihre Unterschrift muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
}
if(cro.EmployeeSignatureState == SignatureState.All)
{
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br /><br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
}
}
else
{
if(cro.CustomerSignatureState == SignatureState.Some)
{
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br />Die Unterschrift des Klienten muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br /><br />Die Unterschrift des Klienten muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
}
if(cro.CustomerSignatureState == SignatureState.All)
{
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br /><br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
}
}
}

View File

@@ -7927,27 +7927,28 @@ namespace BeWo.Service.ServiceImplementations
DAOFactory.GenericDAO.Delete(signature);
var customerSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(new List<long> { serviceRecordOid }, SignatureType.Customer);
var employeeSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(new List<long> { serviceRecordOid }, SignatureType.Employee);
//var customerSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(new List<long> { serviceRecordOid }, SignatureType.Customer);
//var employeeSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(new List<long> { serviceRecordOid }, SignatureType.Employee);
serviceRecord.SignatureOid = null;
DAOFactory.GenericDAO.Update(serviceRecord);
if(customerSignature?.ServiceRecords.Any(sr => sr.Oid.HasValue && sr.Oid.Value.Equals(serviceRecordOid)) ?? false)
{
customerSignature.ServiceRecords = customerSignature.ServiceRecords.Where(sr => sr.Oid.HasValue && !sr.Oid.Value.Equals(serviceRecordOid)).ToList();
// Das Löschen einer Unterschrift für einen einzelnen Eintrag in der Zeiterfassung macht eine vorhandene Monatsunterschrift nicht ungültig
//if(customerSignature?.ServiceRecords.Any(sr => sr.Oid.HasValue && sr.Oid.Value.Equals(serviceRecordOid)) ?? false)
//{
// customerSignature.ServiceRecords = customerSignature.ServiceRecords.Where(sr => sr.Oid.HasValue && !sr.Oid.Value.Equals(serviceRecordOid)).ToList();
DAOFactory.GenericDAO.Update(customerSignature);
}
// DAOFactory.GenericDAO.Update(customerSignature);
//}
if(!(employeeSignature?.ServiceRecords.Any(sr => sr.Oid.HasValue && sr.Oid.Value.Equals(serviceRecordOid)) ?? false))
{
return;
}
//if(!(employeeSignature?.ServiceRecords.Any(sr => sr.Oid.HasValue && sr.Oid.Value.Equals(serviceRecordOid)) ?? false))
//{
// return;
//}
employeeSignature.ServiceRecords = employeeSignature.ServiceRecords.Where(sr => sr.Oid.HasValue && !sr.Oid.Value.Equals(serviceRecordOid)).ToList();
//employeeSignature.ServiceRecords = employeeSignature.ServiceRecords.Where(sr => sr.Oid.HasValue && !sr.Oid.Value.Equals(serviceRecordOid)).ToList();
DAOFactory.GenericDAO.Update(employeeSignature);
//DAOFactory.GenericDAO.Update(employeeSignature);
}
catch(Exception e)