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)
{
//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");
return null;
}
if(newContractId!=null && !await ct.Contract.AnyAsync(z=>z.Id==newContractId)){
AddError(ApiErrorCode.NOT_FOUND,"generalerror", $"Contract with id {newContractId} not found");
if (newContractId != null && !await ct.Contract.AnyAsync(z => z.Id == newContractId))
{
AddError(ApiErrorCode.NOT_FOUND, "generalerror", $"Contract with id {newContractId} not found");
return null;
}
w.ContractId=newContractId;
w.ContractId = newContractId;
await ct.SaveChangesAsync();
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, workOrderId, BizType, AyaEvent.Modified), ct);
await GetCurrentContractFromContractIdAsync(newContractId);
@@ -656,13 +657,25 @@ namespace AyaNova.Biz
await ItemPopulateVizFields(v);
//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)
o.ProjectViz = await ct.Project.AsNoTracking().Where(x => x.Id == o.ProjectId).Select(x => x.Name).FirstOrDefaultAsync();
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
o.ContractViz = "-";
}