This commit is contained in:
2021-05-15 00:17:13 +00:00
parent 7527d89a6d
commit 1ffe3ed689

View File

@@ -320,18 +320,19 @@ namespace AyaNova.Biz
internal async Task<WorkOrder> ChangeContract(long workOrderId, long? newContractId) internal async Task<WorkOrder> ChangeContract(long workOrderId, long? newContractId)
{ {
//this is called by UI via contract change route for contract change only and expects wo back to update client ui //this is called by UI via contract change route for contract change only and expects wo back to update client ui
var w=await ct.WorkOrder.FirstOrDefaultAsync(z=>z.Id==workOrderId); var w = await ct.WorkOrder.FirstOrDefaultAsync(z => z.Id == workOrderId);
if (w==null) if (w == null)
{ {
AddError(ApiErrorCode.NOT_FOUND, "id"); AddError(ApiErrorCode.NOT_FOUND, "id");
return null; return null;
} }
if(newContractId!=null && !await ct.Contract.AnyAsync(z=>z.Id==newContractId)){ if (newContractId != null && !await ct.Contract.AnyAsync(z => z.Id == newContractId))
AddError(ApiErrorCode.NOT_FOUND,"generalerror", $"Contract with id {newContractId} not found"); {
AddError(ApiErrorCode.NOT_FOUND, "generalerror", $"Contract with id {newContractId} not found");
return null; return null;
} }
w.ContractId=newContractId; w.ContractId = newContractId;
await ct.SaveChangesAsync(); await ct.SaveChangesAsync();
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, workOrderId, BizType, AyaEvent.Modified), ct); await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, workOrderId, BizType, AyaEvent.Modified), ct);
await GetCurrentContractFromContractIdAsync(newContractId); await GetCurrentContractFromContractIdAsync(newContractId);
@@ -656,13 +657,25 @@ namespace AyaNova.Biz
await ItemPopulateVizFields(v); await ItemPopulateVizFields(v);
//popup Alert notes //popup Alert notes
o.AlertViz = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.PopUpNotes).FirstOrDefaultAsync(); //Customer notes first then others below
var customerAlert = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.PopUpNotes).FirstOrDefaultAsync();
if (!string.IsNullOrWhiteSpace(customerAlert))
{
o.AlertViz = $"{await Translate("Customer")}:\n{customerAlert}";
}
if (o.ProjectId != null) if (o.ProjectId != null)
o.ProjectViz = await ct.Project.AsNoTracking().Where(x => x.Id == o.ProjectId).Select(x => x.Name).FirstOrDefaultAsync(); o.ProjectViz = await ct.Project.AsNoTracking().Where(x => x.Id == o.ProjectId).Select(x => x.Name).FirstOrDefaultAsync();
if (o.ContractId != null) if (o.ContractId != null)
o.ContractViz = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => x.Name).FirstOrDefaultAsync(); {
var contractVizFields = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => new { name = x.Name, alert = x.AlertNotes }).FirstOrDefaultAsync();
o.ContractViz = contractVizFields.name;
if (!string.IsNullOrWhiteSpace(contractVizFields.alert))
{
o.AlertViz += $"\n\n{await Translate("Contract")}:\n{contractVizFields.alert}";
}
}
else else
o.ContractViz = "-"; o.ContractViz = "-";
} }