From 1742cdec0ae490afa2ea3225e9edda8845519cef Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 18 May 2021 18:21:14 +0000 Subject: [PATCH] --- server/AyaNova/biz/WorkOrderBiz.cs | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 79ccc2ed..62820288 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -328,6 +328,7 @@ namespace AyaNova.Biz if (ayaEvent == AyaEvent.Created) { await AutoSetContractAsync(newObj); + await AutoSetCloseByDateAsync(newObj); await AutoSetAddressAsync(newObj); return; } @@ -341,6 +342,9 @@ namespace AyaNova.Biz await AutoSetContractAsync(newObj); await AutoSetAddressAsync(newObj); } + + if (newObj.ContractId != oldObj.ContractId) + await AutoSetCloseByDateAsync(newObj); } } @@ -405,23 +409,23 @@ namespace AyaNova.Biz newObj.ContractId = head.contractId; } } + } - + private async Task AutoSetCloseByDateAsync(WorkOrder newObj) + { + //called when there is a definite possibility of change of close by i.e. new contract, new customer, new workorder //RESPONSE TIME / COMPLETE BY AUTO SET //precedence: manually pre-set -> contract -> global biz - if (newObj.CompleteByDate != null) + if (newObj.ContractId != null) { - if (newObj.ContractId != null) - { - await GetCurrentContractFromContractIdAsync(newObj.ContractId); - if (mContractInEffect != null && mContractInEffect.ResponseTime != TimeSpan.Zero) - newObj.CompleteByDate = DateTime.UtcNow.Add(mContractInEffect.ResponseTime); - } - else - { - if (AyaNova.Util.ServerGlobalBizSettings.WorkOrderCompleteByAge != TimeSpan.Zero) - newObj.CompleteByDate = DateTime.UtcNow.Add(AyaNova.Util.ServerGlobalBizSettings.WorkOrderCompleteByAge); - } + await GetCurrentContractFromContractIdAsync(newObj.ContractId); + if (mContractInEffect != null && mContractInEffect.ResponseTime != TimeSpan.Zero) + newObj.CompleteByDate = DateTime.UtcNow.Add(mContractInEffect.ResponseTime); + } + else + { + if (AyaNova.Util.ServerGlobalBizSettings.WorkOrderCompleteByAge != TimeSpan.Zero) + newObj.CompleteByDate = DateTime.UtcNow.Add(AyaNova.Util.ServerGlobalBizSettings.WorkOrderCompleteByAge); } }