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_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||
"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_TZ_OFFSET": "-7",
|
||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
||||
|
||||
@@ -136,9 +136,9 @@ namespace AyaNova.Biz
|
||||
foreach (WorkOrderItem wi in newObject.Items)
|
||||
{
|
||||
foreach (WorkOrderItemPart wip in wi.Parts)
|
||||
await PartBizActionsAsync(AyaEvent.Created, wip, null, null);
|
||||
await PartBizActionsAsync(AyaEvent.Created, wip, null);
|
||||
foreach (WorkOrderItemLoan wil in wi.Loans)
|
||||
await LoanBizActionsAsync(AyaEvent.Created, wil, null, null);
|
||||
await LoanBizActionsAsync(AyaEvent.Created, wil, null);
|
||||
|
||||
}
|
||||
await ct.SaveChangesAsync();
|
||||
@@ -2788,13 +2788,19 @@ namespace AyaNova.Biz
|
||||
return null;
|
||||
else
|
||||
{
|
||||
await LoanBizActionsAsync(AyaEvent.Created, newObject, null, null);
|
||||
await LoanBizActionsAsync(AyaEvent.Created, newObject, null);
|
||||
await ct.WorkOrderItemLoan.AddAsync(newObject);
|
||||
await ct.SaveChangesAsync();
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, newObject.AyaType, AyaEvent.Created), ct);
|
||||
await LoanSearchIndexAsync(newObject, true);
|
||||
await LoanPopulateVizFields(newObject);
|
||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
||||
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == newObject.LoanUnitId);
|
||||
if (u != null)
|
||||
{
|
||||
u.WorkOrderItemLoanId = newObject.Id;
|
||||
await ct.SaveChangesAsync();
|
||||
}
|
||||
return newObject;
|
||||
}
|
||||
}
|
||||
@@ -2830,8 +2836,10 @@ namespace AyaNova.Biz
|
||||
}
|
||||
await LoanValidateAsync(putObject, dbObject);
|
||||
if (HasErrors) return null;
|
||||
await LoanBizActionsAsync(AyaEvent.Modified, putObject, dbObject, null);
|
||||
await LoanBizActionsAsync(AyaEvent.Modified, putObject, dbObject);
|
||||
bool changeOfUnit = dbObject.LoanUnitId != putObject.LoanUnitId;
|
||||
ct.Replace(dbObject, putObject);
|
||||
|
||||
try
|
||||
{
|
||||
await ct.SaveChangesAsync();
|
||||
@@ -2844,10 +2852,21 @@ namespace AyaNova.Biz
|
||||
AddError(ApiErrorCode.CONCURRENCY_CONFLICT);
|
||||
return null;
|
||||
}
|
||||
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, putObject.AyaType, AyaEvent.Modified), ct);
|
||||
await LoanSearchIndexAsync(putObject, false);
|
||||
await LoanPopulateVizFields(putObject);
|
||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Modified, putObject, dbObject);
|
||||
//update loan unit
|
||||
if (changeOfUnit)
|
||||
{
|
||||
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == dbObject.LoanUnitId);
|
||||
if (u != null)
|
||||
{
|
||||
u.WorkOrderItemLoanId = putObject.Id;
|
||||
await ct.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
return putObject;
|
||||
}
|
||||
|
||||
@@ -2861,6 +2880,15 @@ namespace AyaNova.Biz
|
||||
LoanValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
//note:deliberately doing collection here in case of weird issues
|
||||
var ul = await ct.LoanUnit.Where(x => x.WorkOrderItemLoanId == dbObject.Id).ToListAsync();
|
||||
foreach (var u in ul)
|
||||
{
|
||||
if (u.WorkOrderItemLoanId == dbObject.Id)//only do this if it's flagged on *this* workorderitemloan
|
||||
u.WorkOrderItemLoanId = null;
|
||||
}
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
ct.WorkOrderItemLoan.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
@@ -2965,7 +2993,7 @@ namespace AyaNova.Biz
|
||||
//BIZ ACTIONS
|
||||
//
|
||||
//
|
||||
private async Task LoanBizActionsAsync(AyaEvent ayaEvent, WorkOrderItemLoan newObj, WorkOrderItemLoan oldObj, IDbContextTransaction transaction)
|
||||
private async Task LoanBizActionsAsync(AyaEvent ayaEvent, WorkOrderItemLoan newObj, WorkOrderItemLoan oldObj)
|
||||
{
|
||||
//automatic actions on record change, called AFTER validation
|
||||
|
||||
@@ -2976,6 +3004,8 @@ namespace AyaNova.Biz
|
||||
//SNAPSHOT PRICING
|
||||
bool SnapshotPricing = true;
|
||||
|
||||
|
||||
|
||||
//if modifed, see what has changed and should be re-applied
|
||||
if (ayaEvent == AyaEvent.Modified)
|
||||
{
|
||||
@@ -3034,6 +3064,8 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//VALIDATION
|
||||
//
|
||||
@@ -3634,7 +3666,7 @@ namespace AyaNova.Biz
|
||||
return null;
|
||||
else
|
||||
{
|
||||
await PartBizActionsAsync(AyaEvent.Created, newObject, null, null);
|
||||
await PartBizActionsAsync(AyaEvent.Created, newObject, null);
|
||||
|
||||
|
||||
await ct.WorkOrderItemPart.AddAsync(newObject);
|
||||
@@ -3690,7 +3722,7 @@ namespace AyaNova.Biz
|
||||
|
||||
await PartValidateAsync(putObject, dbObject);
|
||||
if (HasErrors) return null;
|
||||
await PartBizActionsAsync(AyaEvent.Modified, putObject, dbObject, null);
|
||||
await PartBizActionsAsync(AyaEvent.Modified, putObject, dbObject);
|
||||
ct.Replace(dbObject, putObject);
|
||||
try
|
||||
{
|
||||
@@ -3729,7 +3761,7 @@ namespace AyaNova.Biz
|
||||
PartValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject);
|
||||
ct.WorkOrderItemPart.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
@@ -3895,7 +3927,7 @@ namespace AyaNova.Biz
|
||||
//BIZ ACTIONS
|
||||
//
|
||||
//
|
||||
private async Task PartBizActionsAsync(AyaEvent ayaEvent, WorkOrderItemPart newObj, WorkOrderItemPart oldObj, IDbContextTransaction transaction)
|
||||
private async Task PartBizActionsAsync(AyaEvent ayaEvent, WorkOrderItemPart newObj, WorkOrderItemPart oldObj)
|
||||
{
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user