This commit is contained in:
2021-04-13 20:17:48 +00:00
parent 8e9ac6b011
commit 113f5ee60d

View File

@@ -476,17 +476,29 @@ namespace AyaNova.Biz
foreach (WorkOrder w in orderedList)
{
//TODO: populate viz and hydrate custom fields will need to be done in entire graph
//so there should also be calls to items populate viz fields and on and on
//ideally here should only need to call itemPopulatevizFields one by one to do it which in turn will call
//grandchild *PopulatevizFields etc walking the graph
//populate entire workorder graph
await WorkOrderPopulateVizFields(w);
//TODO: this will need to be replicated at every level where custom fields are supported
var jo = JObject.FromObject(w);
//WorkOrder header custom fields
if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"]))
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
//WorkOrderItem custom fields
foreach (JObject jItem in jo["Items"])
{
if (!JsonUtil.JTokenIsNullOrEmpty(jItem["CustomFields"]))
jItem["CustomFields"] = JObject.Parse((string)jItem["CustomFields"]);
//WorkOrderItemUnit custom fields
foreach (JObject jUnit in jItem["Units"])
{
if (!JsonUtil.JTokenIsNullOrEmpty(jUnit["CustomFields"]))
jUnit["CustomFields"] = JObject.Parse((string)jUnit["CustomFields"]);
}
}
ReportData.Add(jo);
}
}
@@ -500,6 +512,10 @@ namespace AyaNova.Biz
private async Task WorkOrderPopulateVizFields(WorkOrder o)
{
await Task.CompletedTask;
foreach (var v in o.States)
await StatePopulateVizFields(v);
foreach (var v in o.Items)
await ItemPopulateVizFields(v);
// if (o.WorkOrderOverseerId != null)
// o.WorkOrderOverseerViz = await ct.User.AsNoTracking().Where(x => x.Id == o.WorkOrderOverseerId).Select(x => x.Name).FirstOrDefaultAsync();
}
@@ -1035,9 +1051,31 @@ namespace AyaNova.Biz
//
private async Task ItemPopulateVizFields(WorkOrderItem o)
{
await Task.CompletedTask;
// if (o.WorkOrderOverseerId != null)
// o.WorkOrderOverseerViz = await ct.User.AsNoTracking().Where(x => x.Id == o.WorkOrderOverseerId).Select(x => x.Name).FirstOrDefaultAsync();
foreach (var v in o.Expenses)
await ExpensePopulateVizFields(v);
foreach (var v in o.Labors)
await LaborPopulateVizFields(v);
foreach (var v in o.Loans)
await LoanPopulateVizFields(v);
foreach (var v in o.OutsideServices)
await OutsideServicePopulateVizFields(v);
foreach (var v in o.PartRequests)
await PartRequestPopulateVizFields(v);
foreach (var v in o.Parts)
await PartPopulateVizFields(v);
foreach (var v in o.ScheduledUsers)
await ScheduledUserPopulateVizFields(v);
foreach (var v in o.Tasks)
await TaskPopulateVizFields(v);
foreach (var v in o.Travels)
await TravelPopulateVizFields(v);
foreach (var v in o.Units)
await UnitPopulateVizFields(v);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1291,7 +1329,7 @@ namespace AyaNova.Biz
////////////////////////////////////////////////////////////////////////////////////////////////
//VIZ POPULATE
//
private async Task ItemPopulateVizFields(WorkOrderItemExpense o)
private async Task ExpensePopulateVizFields(WorkOrderItemExpense o)
{
await Task.CompletedTask;
// if (o.WorkOrderOverseerId != null)