This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -53,7 +53,7 @@
|
|||||||
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
||||||
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||||
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
||||||
"AYANOVA_SERVER_TEST_MODE": "true",
|
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
||||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
||||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
||||||
|
|||||||
@@ -2184,7 +2184,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderId, ct);
|
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderId, ct);
|
||||||
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
//for notification purposes because has no name field itself
|
//for notification purposes because has no name field itself
|
||||||
oProposed.Name = WorkorderInfo.Serial.ToString();
|
oProposed.Name = WorkorderInfo.Serial.ToString();
|
||||||
|
|
||||||
//STANDARD EVENTS FOR ALL OBJECTS
|
//STANDARD EVENTS FOR ALL OBJECTS
|
||||||
@@ -2559,7 +2559,7 @@ namespace AyaNova.Biz
|
|||||||
bool isNew = currentObj == null;
|
bool isNew = currentObj == null;
|
||||||
WorkOrderItemExpense oProposed = (WorkOrderItemExpense)proposedObj;
|
WorkOrderItemExpense oProposed = (WorkOrderItemExpense)proposedObj;
|
||||||
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
||||||
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
oProposed.Tags = WorkorderInfo.Tags;
|
oProposed.Tags = WorkorderInfo.Tags;
|
||||||
|
|
||||||
//STANDARD EVENTS FOR ALL OBJECTS
|
//STANDARD EVENTS FOR ALL OBJECTS
|
||||||
@@ -3049,7 +3049,7 @@ namespace AyaNova.Biz
|
|||||||
WorkOrderItemLabor oProposed = (WorkOrderItemLabor)proposedObj;
|
WorkOrderItemLabor oProposed = (WorkOrderItemLabor)proposedObj;
|
||||||
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
||||||
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
//for notification purposes because has no name or tags field itself
|
//for notification purposes because has no name or tags field itself
|
||||||
oProposed.Name = WorkorderInfo.Serial.ToString();
|
oProposed.Name = WorkorderInfo.Serial.ToString();
|
||||||
oProposed.Tags = WorkorderInfo.Tags;
|
oProposed.Tags = WorkorderInfo.Tags;
|
||||||
|
|
||||||
@@ -3429,7 +3429,7 @@ namespace AyaNova.Biz
|
|||||||
WorkOrderItemLoan oProposed = (WorkOrderItemLoan)proposedObj;
|
WorkOrderItemLoan oProposed = (WorkOrderItemLoan)proposedObj;
|
||||||
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
||||||
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
//for notification purposes because has no name / tags field itself
|
//for notification purposes because has no name / tags field itself
|
||||||
oProposed.Name = WorkorderInfo.Serial.ToString();
|
oProposed.Name = WorkorderInfo.Serial.ToString();
|
||||||
oProposed.Tags = WorkorderInfo.Tags;
|
oProposed.Tags = WorkorderInfo.Tags;
|
||||||
|
|
||||||
@@ -3746,7 +3746,7 @@ namespace AyaNova.Biz
|
|||||||
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
var wid = await GetWorkOrderIdFromRelativeAsync(AyaType.WorkOrderItem, oProposed.WorkOrderItemId, ct);
|
||||||
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == wid.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
//for notification purposes because has no name / tags field itself
|
//for notification purposes because has no name / tags field itself
|
||||||
oProposed.Name = WorkorderInfo.Serial.ToString();
|
oProposed.Name = WorkorderInfo.Serial.ToString();
|
||||||
oProposed.Tags = WorkorderInfo.Tags;
|
oProposed.Tags = WorkorderInfo.Tags;
|
||||||
|
|
||||||
//STANDARD EVENTS FOR ALL OBJECTS
|
//STANDARD EVENTS FOR ALL OBJECTS
|
||||||
@@ -4027,38 +4027,36 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
internal async Task<bool> PartDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
internal async Task<bool> PartDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||||
{
|
{
|
||||||
// var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||||
using (var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync())
|
|
||||||
|
try
|
||||||
{
|
{
|
||||||
try
|
var dbObject = await PartGetAsync(id, false);
|
||||||
|
PartValidateCanDelete(dbObject);
|
||||||
|
if (HasErrors)
|
||||||
|
return false;
|
||||||
|
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||||
|
ct.WorkOrderItemPart.Remove(dbObject);
|
||||||
|
await ct.SaveChangesAsync();
|
||||||
|
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||||
|
if (HasErrors)
|
||||||
{
|
{
|
||||||
var dbObject = await PartGetAsync(id, false);
|
await transaction.RollbackAsync();
|
||||||
PartValidateCanDelete(dbObject);
|
return false;
|
||||||
if (HasErrors)
|
|
||||||
return false;
|
|
||||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
|
||||||
ct.WorkOrderItemPart.Remove(dbObject);
|
|
||||||
await ct.SaveChangesAsync();
|
|
||||||
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
|
||||||
if (HasErrors)
|
|
||||||
{
|
|
||||||
await transaction.RollbackAsync();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
//Log event
|
|
||||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
|
||||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
|
||||||
//await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
|
||||||
//await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
|
||||||
if (parentTransaction == null)
|
|
||||||
await transaction.CommitAsync();
|
|
||||||
await PartHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
//Just re-throw for now, let exception handler deal, but in future may want to deal with this more here
|
|
||||||
throw;
|
|
||||||
}
|
}
|
||||||
|
//Log event
|
||||||
|
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||||
|
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||||
|
//await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
||||||
|
//await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
||||||
|
if (parentTransaction == null)
|
||||||
|
await transaction.CommitAsync();
|
||||||
|
await PartHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//Just re-throw for now, let exception handler deal, but in future may want to deal with this more here
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -4385,15 +4383,8 @@ namespace AyaNova.Biz
|
|||||||
if (newObj.Quantity != 0 && !string.IsNullOrWhiteSpace(newObj.Serials))
|
if (newObj.Quantity != 0 && !string.IsNullOrWhiteSpace(newObj.Serials))
|
||||||
await PartBiz.RemoveSerialsAsync(newObj.PartId, newObj.Serials, ct, UserId);
|
await PartBiz.RemoveSerialsAsync(newObj.PartId, newObj.Serials, ct, UserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2209,6 +2209,7 @@
|
|||||||
"WorkOrderSerialNumber": "Nummer",
|
"WorkOrderSerialNumber": "Nummer",
|
||||||
"Sequence": "Reihenfolge",
|
"Sequence": "Reihenfolge",
|
||||||
"SoftDelete": "Zum Löschen markieren",
|
"SoftDelete": "Zum Löschen markieren",
|
||||||
|
"SoftDeleteAll": "*alle* zum Löschen markieren",
|
||||||
"Undelete": "Wiederherstellen",
|
"Undelete": "Wiederherstellen",
|
||||||
"NewStatus": "Neuer Status",
|
"NewStatus": "Neuer Status",
|
||||||
"WorkOrderCustom1": "Angepasstes Feld 1",
|
"WorkOrderCustom1": "Angepasstes Feld 1",
|
||||||
|
|||||||
@@ -2209,6 +2209,7 @@
|
|||||||
"WorkOrderSerialNumber": "Number",
|
"WorkOrderSerialNumber": "Number",
|
||||||
"Sequence": "Sequence",
|
"Sequence": "Sequence",
|
||||||
"SoftDelete": "Mark for deletion",
|
"SoftDelete": "Mark for deletion",
|
||||||
|
"SoftDeleteAll": "Mark *all* for deletion",
|
||||||
"Undelete": "Undelete",
|
"Undelete": "Undelete",
|
||||||
"NewStatus": "New status",
|
"NewStatus": "New status",
|
||||||
"WorkOrderCustom1": "Custom1",
|
"WorkOrderCustom1": "Custom1",
|
||||||
|
|||||||
@@ -2209,6 +2209,7 @@
|
|||||||
"WorkOrderSerialNumber": "Número",
|
"WorkOrderSerialNumber": "Número",
|
||||||
"Sequence": "Secuencia",
|
"Sequence": "Secuencia",
|
||||||
"SoftDelete": "Marcar para borrar",
|
"SoftDelete": "Marcar para borrar",
|
||||||
|
"SoftDeleteAll": "Marcar *todo* para borrar",
|
||||||
"Undelete": "Recuperar",
|
"Undelete": "Recuperar",
|
||||||
"NewStatus": "Nuevo estado",
|
"NewStatus": "Nuevo estado",
|
||||||
"WorkOrderCustom1": "Campo personalizado 1",
|
"WorkOrderCustom1": "Campo personalizado 1",
|
||||||
|
|||||||
@@ -2209,6 +2209,7 @@
|
|||||||
"WorkOrderSerialNumber": "Numéro",
|
"WorkOrderSerialNumber": "Numéro",
|
||||||
"Sequence": "Séquence",
|
"Sequence": "Séquence",
|
||||||
"SoftDelete": "Marquer pour suppression",
|
"SoftDelete": "Marquer pour suppression",
|
||||||
|
"SoftDeleteAll": "Marquer *tout* pour suppression",
|
||||||
"Undelete": "Annuler la suppression",
|
"Undelete": "Annuler la suppression",
|
||||||
"NewStatus": "Nouveau statut",
|
"NewStatus": "Nouveau statut",
|
||||||
"WorkOrderCustom1": "Champ personnalisé 1",
|
"WorkOrderCustom1": "Champ personnalisé 1",
|
||||||
|
|||||||
Reference in New Issue
Block a user