This commit is contained in:
2021-05-15 15:01:52 +00:00
parent d1e417276f
commit cea8d31d84
3 changed files with 44 additions and 6 deletions

2
.vscode/launch.json vendored
View File

@@ -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": "false",
"AYANOVA_SERVER_TEST_MODE": "true",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"

View File

@@ -73,7 +73,7 @@ namespace AyaNova.Biz
return null;
else
{
// await WorkOrderBizActionsAsync(AyaEvent.Created, newObject, null, null);
await WorkOrderBizActionsAsync(AyaEvent.Created, newObject, null, null);
newObject.Tags = TagBiz.NormalizeTags(newObject.Tags);
newObject.CustomFields = JsonUtil.CompactJson(newObject.CustomFields);
await ct.WorkOrder.AddAsync(newObject);
@@ -313,6 +313,44 @@ namespace AyaNova.Biz
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
//BIZ ACTIONS
//
//
private async Task WorkOrderBizActionsAsync(AyaEvent ayaEvent, WorkOrder newObj, WorkOrder oldObj, IDbContextTransaction transaction)
{
//automatic actions on record change, called AFTER validation and BEFORE save
//so changes here will be saved by caller
//currently no processing required except for created or modified at this time
if (ayaEvent != AyaEvent.Created && ayaEvent != AyaEvent.Modified)
return;
if (ayaEvent == AyaEvent.Created)
{
//find and set effective contract if user didn't set it already
if (newObj.ContractId == null && newObj.CustomerId != 0)
{
//customer->headoffice
var cust = await ct.Customer.AsNoTracking().Where(z => z.Id == newObj.CustomerId).Select(z => new { headofficeId = z.HeadOfficeId, contractId = z.ContractId }).FirstOrDefaultAsync();
if(cust.contractId==null && cust.headofficeId!=null){
var hoContractId=await ct.HeadOffice.AsNoTracking().Where(z => z.Id == cust.headofficeId).Select(z => z.ContractId).FirstOrDefaultAsync();
if(hoContractId!=null){
newObj.ContractId=hoContractId;
}
}else{
newObj.ContractId=cust.contractId;
}
}
//set default response time
todo: check contract if applied then check global if not
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
//CONTRACT UPDATE

View File

@@ -22,16 +22,16 @@ namespace AyaNova.Util
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 1;
internal const long EXPECTED_COLUMN_COUNT = 950;
internal const long EXPECTED_COLUMN_COUNT = 951;
internal const long EXPECTED_INDEX_COUNT = 141;
internal const long EXPECTED_CHECK_CONSTRAINTS = 440;
internal const long EXPECTED_CHECK_CONSTRAINTS = 441;
internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 115;
internal const long EXPECTED_VIEWS = 6;
internal const long EXPECTED_ROUTINES = 2;
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/*
@@ -256,7 +256,7 @@ namespace AyaNova.Util
+ "taxpartpurchaseid BIGINT, "
+ "taxpartsaleid BIGINT, "
+ "taxratesaleid BIGINT, "
+ "workordercompletebyage INTERVAL NOT NULL"
+ "workordercompletebyage INTERVAL NOT NULL DEFAULT '00:00:00'"
+ ")");
//create global ops BACKUP settings table