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_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": "false", "AYANOVA_SERVER_TEST_MODE": "true",
"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\\"

View File

@@ -73,7 +73,7 @@ namespace AyaNova.Biz
return null; return null;
else else
{ {
// await WorkOrderBizActionsAsync(AyaEvent.Created, newObject, null, null); await WorkOrderBizActionsAsync(AyaEvent.Created, newObject, null, null);
newObject.Tags = TagBiz.NormalizeTags(newObject.Tags); newObject.Tags = TagBiz.NormalizeTags(newObject.Tags);
newObject.CustomFields = JsonUtil.CompactJson(newObject.CustomFields); newObject.CustomFields = JsonUtil.CompactJson(newObject.CustomFields);
await ct.WorkOrder.AddAsync(newObject); 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 //CONTRACT UPDATE

View File

@@ -22,9 +22,9 @@ namespace AyaNova.Util
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!! //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 1; 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_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_FOREIGN_KEY_CONSTRAINTS = 115;
internal const long EXPECTED_VIEWS = 6; internal const long EXPECTED_VIEWS = 6;
internal const long EXPECTED_ROUTINES = 2; internal const long EXPECTED_ROUTINES = 2;
@@ -256,7 +256,7 @@ namespace AyaNova.Util
+ "taxpartpurchaseid BIGINT, " + "taxpartpurchaseid BIGINT, "
+ "taxpartsaleid BIGINT, " + "taxpartsaleid BIGINT, "
+ "taxratesaleid BIGINT, " + "taxratesaleid BIGINT, "
+ "workordercompletebyage INTERVAL NOT NULL" + "workordercompletebyage INTERVAL NOT NULL DEFAULT '00:00:00'"
+ ")"); + ")");
//create global ops BACKUP settings table //create global ops BACKUP settings table