This commit is contained in:
@@ -216,6 +216,15 @@ namespace AyaNova.Biz
|
||||
AddError(ApiErrorCode.CONCURRENCY_CONFLICT);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
putObject.Tags = TagBiz.NormalizeTags(putObject.Tags);
|
||||
putObject.CustomFields = JsonUtil.CompactJson(putObject.CustomFields);
|
||||
await WorkOrderValidateAsync(putObject, dbObject);
|
||||
if (HasErrors)
|
||||
return null;
|
||||
await WorkOrderBizActionsAsync(AyaEvent.Modified, putObject, dbObject, null);
|
||||
|
||||
bool contractChanged = false;
|
||||
long? newContractId = null;
|
||||
if (putObject.ContractId != dbObject.ContractId)//manual change of contract
|
||||
@@ -224,12 +233,6 @@ namespace AyaNova.Biz
|
||||
newContractId = putObject.ContractId;
|
||||
}
|
||||
|
||||
putObject.Tags = TagBiz.NormalizeTags(putObject.Tags);
|
||||
putObject.CustomFields = JsonUtil.CompactJson(putObject.CustomFields);
|
||||
await WorkOrderValidateAsync(putObject, dbObject);
|
||||
if (HasErrors)
|
||||
return null;
|
||||
await WorkOrderBizActionsAsync(AyaEvent.Modified, putObject, dbObject, null);
|
||||
ct.Replace(dbObject, putObject);
|
||||
try
|
||||
{
|
||||
@@ -335,15 +338,18 @@ namespace AyaNova.Biz
|
||||
if (newObj.CustomerId != oldObj.CustomerId)
|
||||
{
|
||||
await AutoSetContractAsync(newObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private async Task AutoSetContractAsync(WorkOrder newObj)
|
||||
{
|
||||
//first reset contract fetched flag so a fresh copy is taken
|
||||
//in case it was set already by other operations
|
||||
mFetchedContractAlready = false;
|
||||
|
||||
//CONTRACT AUTO SET
|
||||
if (newObj.ContractId == null && newObj.CustomerId != 0)
|
||||
if (newObj.CustomerId != 0)
|
||||
{
|
||||
//unit->customer->headoffice
|
||||
var cust = await ct.Customer.AsNoTracking().Where(z => z.Id == newObj.CustomerId).Select(z => new { headofficeId = z.HeadOfficeId, contractId = z.ContractId }).FirstOrDefaultAsync();
|
||||
@@ -354,7 +360,9 @@ namespace AyaNova.Biz
|
||||
newObj.ContractId = hoContractId;
|
||||
}
|
||||
else
|
||||
newObj.ContractId = cust.contractId;
|
||||
newObj.ContractId = cust.contractId;//if ultimately no contract for this customer or ho then it's set to null anyway which is what we want
|
||||
}else{
|
||||
newObj.ContractId=null;//no customer then contract
|
||||
}
|
||||
|
||||
//RESPONSE TIME / COMPLETE BY AUTO SET
|
||||
|
||||
Reference in New Issue
Block a user