MoK:
1. GetStatus auf type=1 geändert. 2. Bei den Bargeldkassen Bugs gefixt (ist noch nicht fertig). 3. Fehler bezüglich jsonResult in mobileUtils.js gefixt. 4. Meldung bei Login wegen GetStatus eingebaut.
This commit is contained in:
@@ -4108,6 +4108,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
if(originalTransaction.SignatureOid.HasValue)
|
||||
{
|
||||
signatureOids2Delete.AddRangeIfElementsNotIn(DAOFactory.SearchDAO.LoadSignatureOidsByTransaktionOid(originalTransaction.BargeldtransaktionOid.Value));
|
||||
signatureOids2Delete.AddIfNotIn(originalTransaction.SignatureOid.Value);
|
||||
}
|
||||
|
||||
@@ -4129,14 +4130,20 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
var newSignatureState = SignatureStateType.None;
|
||||
|
||||
// Wenn die Transaktion eine Unterschrift vor der Änderung hatte, wird diese als ungültig gespeichert und die Transaktion gelöscht.
|
||||
// Wenn die Transaktion eine Unterschrift vor der Änderung hatte, wird diese als ungültig gespeichert und gelöscht.
|
||||
if(changedOrDeletedTransactionDC.SignatureOid.HasValue)
|
||||
{
|
||||
newSignatureState = SignatureStateType.Invalid;
|
||||
if(originalTransaction.BargeldtransaktionOid.HasValue)
|
||||
{
|
||||
deletedOids.AddIfNotIn(originalTransaction.BargeldtransaktionOid.Value);
|
||||
}
|
||||
|
||||
signatureOids2Delete.AddRangeIfElementsNotIn(DAOFactory.SearchDAO.LoadSignatureOidsByTransaktionOid(changedOrDeletedTransactionDC.BargeldtransaktionOid.Value));
|
||||
signatureOids2Delete.AddIfNotIn(changedOrDeletedTransactionDC.SignatureOid.Value);
|
||||
changedOrDeletedTransactionDC.SignatureOid = null;
|
||||
}
|
||||
// Die Unterschrift wurde gelöscht
|
||||
else if(changedOrDeletedTransactionDC.SignatureOid is null && originalTransaction.SignatureOid.HasValue)
|
||||
{
|
||||
signatureOids2Delete.AddRangeIfElementsNotIn(DAOFactory.SearchDAO.LoadSignatureOidsByTransaktionOid(changedOrDeletedTransactionDC.BargeldtransaktionOid.Value));
|
||||
newSignatureState = SignatureStateType.ManuallyDeleted;
|
||||
}
|
||||
|
||||
oids2ChangeTypes.AddIfNotIn(new KeyValuePair<long, KeyValuePair<StatementType, SignatureStateType>>(
|
||||
@@ -4152,6 +4159,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var deletedTransactions = DAOFactory.GenericDAO.LoadByIDs<Bargeldtransaktion>(deletedOids);
|
||||
var signatures2Delete = new List<Signature>();
|
||||
|
||||
// Die Transaktion wurde gelöscht
|
||||
foreach(var deletedTransaction in deletedTransactions)
|
||||
{
|
||||
var signatureStateType = SignatureStateType.None;
|
||||
@@ -4167,19 +4175,19 @@ namespace BeWo.Service.ServiceImplementations
|
||||
transactionHistoryEntries.Add(CreateTransactionHistoryObject(deletedTransaction, StatementType.Delete, signatureStateType));
|
||||
}
|
||||
|
||||
|
||||
|
||||
MapperFactory.BargeldkassenDCBargeldkasseDC_BargeldkassenDCBargeldkasse.MergeWithEntity(pBargeldkasse, lOriginal);
|
||||
|
||||
var newTransactions = lOriginal.Bargeldtransaktionen.Where(transaction => transaction.Oid is null).ToList();
|
||||
|
||||
DAOFactory.GenericDAO.Update(lOriginal);
|
||||
|
||||
// Nach dem Insert der neuen Transaktionen haben diese eine Oid und es können die History-Einträge gemacht werden
|
||||
foreach(var newTransaction in newTransactions)
|
||||
{
|
||||
transactionHistoryEntries.Add(CreateTransactionHistoryObject(newTransaction, StatementType.Insert, SignatureStateType.None));
|
||||
}
|
||||
|
||||
// Die History-Einträge für die bearbeiteten werden gemacht
|
||||
foreach(var oid2ChangeTypes in oids2ChangeTypes)
|
||||
{
|
||||
var editedTransaction = lOriginal.Bargeldtransaktionen.FirstOrDefault(transaction => transaction.Oid.HasValue && transaction.Oid.Value.Equals(oid2ChangeTypes.Key));
|
||||
@@ -4194,7 +4202,9 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DAOFactory.GenericDAO.Insert(transactionHistoryEntries);
|
||||
|
||||
DAOFactory.GenericDAO.Delete(DAOFactory.GenericDAO.LoadByIDs<Signature>(signatures2Delete.Where(s => s.Oid.HasValue).Select(s => s.Oid.Value)));
|
||||
signatureOids2Delete.AddRangeIfElementsNotIn(signatures2Delete.Where(s => s.Oid.HasValue).Select(s => s.Oid.Value));
|
||||
|
||||
DAOFactory.GenericDAO.Delete(DAOFactory.GenericDAO.LoadByIDs<Signature>(signatureOids2Delete));
|
||||
|
||||
return MapperFactory.BargeldkassenDCBargeldkasseDC_BargeldkassenDCBargeldkasse.MapToNewDC(lOriginal);
|
||||
}
|
||||
@@ -4224,9 +4234,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
var bargeldkasse = DAOFactory.GenericDAO.LoadByID<Bargeldkasse>(pOid);
|
||||
|
||||
var signatureOids2Delete = bargeldkasse.Bargeldtransaktionen.Where(transaction => transaction.SignatureOid.HasValue).Select(transaction => transaction.SignatureOid.Value).ToList();
|
||||
|
||||
var signatures2Delete = DAOFactory.GenericDAO.LoadByIDs<Signature>(signatureOids2Delete);
|
||||
var signatures2Delete = DAOFactory.SearchDAO.LoadSignaturesByTransactionOids(bargeldkasse.Bargeldtransaktionen.Where(transaction => transaction.SignatureOid.HasValue).Select(transaction => transaction.SignatureOid.Value).ToList());
|
||||
|
||||
var historyEntries = new List<Bargeldtransaktionshistory>();
|
||||
|
||||
@@ -4241,6 +4249,15 @@ namespace BeWo.Service.ServiceImplementations
|
||||
DAOFactory.GenericDAO.Insert(historyEntries);
|
||||
|
||||
ServiceLogic.SetActivationType<Bargeldkasse>(new Dictionary<long, long> { { pOid, pVersion } }, ActivationTypeId.Deleted);
|
||||
|
||||
// SignatureOids aus den Transaktionen löschen, da die Signature-Objekte gelöscht wurden
|
||||
bargeldkasse = DAOFactory.GenericDAO.LoadByID<Bargeldkasse>(pOid);
|
||||
foreach(var transaction in bargeldkasse.Bargeldtransaktionen)
|
||||
{
|
||||
transaction.SignatureOid = null;
|
||||
}
|
||||
|
||||
DAOFactory.GenericDAO.Update(bargeldkasse);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user