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\\"
|
||||||
|
|||||||
@@ -136,9 +136,9 @@ namespace AyaNova.Biz
|
|||||||
foreach (WorkOrderItem wi in newObject.Items)
|
foreach (WorkOrderItem wi in newObject.Items)
|
||||||
{
|
{
|
||||||
foreach (WorkOrderItemPart wip in wi.Parts)
|
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)
|
foreach (WorkOrderItemLoan wil in wi.Loans)
|
||||||
await LoanBizActionsAsync(AyaEvent.Created, wil, null, null);
|
await LoanBizActionsAsync(AyaEvent.Created, wil, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
@@ -2788,13 +2788,19 @@ namespace AyaNova.Biz
|
|||||||
return null;
|
return null;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await LoanBizActionsAsync(AyaEvent.Created, newObject, null, null);
|
await LoanBizActionsAsync(AyaEvent.Created, newObject, null);
|
||||||
await ct.WorkOrderItemLoan.AddAsync(newObject);
|
await ct.WorkOrderItemLoan.AddAsync(newObject);
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, newObject.AyaType, AyaEvent.Created), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, newObject.AyaType, AyaEvent.Created), ct);
|
||||||
await LoanSearchIndexAsync(newObject, true);
|
await LoanSearchIndexAsync(newObject, true);
|
||||||
await LoanPopulateVizFields(newObject);
|
await LoanPopulateVizFields(newObject);
|
||||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Created, 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;
|
return newObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2830,8 +2836,10 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
await LoanValidateAsync(putObject, dbObject);
|
await LoanValidateAsync(putObject, dbObject);
|
||||||
if (HasErrors) return null;
|
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);
|
ct.Replace(dbObject, putObject);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
@@ -2844,10 +2852,21 @@ namespace AyaNova.Biz
|
|||||||
AddError(ApiErrorCode.CONCURRENCY_CONFLICT);
|
AddError(ApiErrorCode.CONCURRENCY_CONFLICT);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, putObject.AyaType, AyaEvent.Modified), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, putObject.AyaType, AyaEvent.Modified), ct);
|
||||||
await LoanSearchIndexAsync(putObject, false);
|
await LoanSearchIndexAsync(putObject, false);
|
||||||
await LoanPopulateVizFields(putObject);
|
await LoanPopulateVizFields(putObject);
|
||||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Modified, putObject, dbObject);
|
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;
|
return putObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2861,6 +2880,15 @@ namespace AyaNova.Biz
|
|||||||
LoanValidateCanDelete(dbObject);
|
LoanValidateCanDelete(dbObject);
|
||||||
if (HasErrors)
|
if (HasErrors)
|
||||||
return false;
|
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);
|
ct.WorkOrderItemLoan.Remove(dbObject);
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
|
|
||||||
@@ -2965,7 +2993,7 @@ namespace AyaNova.Biz
|
|||||||
//BIZ ACTIONS
|
//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
|
//automatic actions on record change, called AFTER validation
|
||||||
|
|
||||||
@@ -2976,6 +3004,8 @@ namespace AyaNova.Biz
|
|||||||
//SNAPSHOT PRICING
|
//SNAPSHOT PRICING
|
||||||
bool SnapshotPricing = true;
|
bool SnapshotPricing = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//if modifed, see what has changed and should be re-applied
|
//if modifed, see what has changed and should be re-applied
|
||||||
if (ayaEvent == AyaEvent.Modified)
|
if (ayaEvent == AyaEvent.Modified)
|
||||||
{
|
{
|
||||||
@@ -3034,6 +3064,8 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//VALIDATION
|
//VALIDATION
|
||||||
//
|
//
|
||||||
@@ -3634,7 +3666,7 @@ namespace AyaNova.Biz
|
|||||||
return null;
|
return null;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await PartBizActionsAsync(AyaEvent.Created, newObject, null, null);
|
await PartBizActionsAsync(AyaEvent.Created, newObject, null);
|
||||||
|
|
||||||
|
|
||||||
await ct.WorkOrderItemPart.AddAsync(newObject);
|
await ct.WorkOrderItemPart.AddAsync(newObject);
|
||||||
@@ -3690,7 +3722,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
await PartValidateAsync(putObject, dbObject);
|
await PartValidateAsync(putObject, dbObject);
|
||||||
if (HasErrors) return null;
|
if (HasErrors) return null;
|
||||||
await PartBizActionsAsync(AyaEvent.Modified, putObject, dbObject, null);
|
await PartBizActionsAsync(AyaEvent.Modified, putObject, dbObject);
|
||||||
ct.Replace(dbObject, putObject);
|
ct.Replace(dbObject, putObject);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -3729,7 +3761,7 @@ namespace AyaNova.Biz
|
|||||||
PartValidateCanDelete(dbObject);
|
PartValidateCanDelete(dbObject);
|
||||||
if (HasErrors)
|
if (HasErrors)
|
||||||
return false;
|
return false;
|
||||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject);
|
||||||
ct.WorkOrderItemPart.Remove(dbObject);
|
ct.WorkOrderItemPart.Remove(dbObject);
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||||
@@ -3895,7 +3927,7 @@ namespace AyaNova.Biz
|
|||||||
//BIZ ACTIONS
|
//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