diff --git a/server/AyaNova/Controllers/SearchController.cs b/server/AyaNova/Controllers/SearchController.cs index a2a8a135..2e605d8d 100644 --- a/server/AyaNova/Controllers/SearchController.cs +++ b/server/AyaNova/Controllers/SearchController.cs @@ -142,9 +142,9 @@ namespace AyaNova.Api.Controllers } - } - //------------ + + //------------ -}//eoc + }//eoc }//eons \ No newline at end of file diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 3ae4e991..9939848a 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -257,10 +257,15 @@ namespace AyaNova.Biz // internal static async Task GetAncestor(AyaType ayaType, long id, AyContext ct) { + long woid = 0; switch (ayaType) { case AyaType.WorkOrderItem: + woid = await ct.WorkOrderItem.Where(z => z.Id == id).Select(z => z.WorkOrderId).SingleAsync(); + break; case AyaType.WorkOrderItemExpense: + woid = await ct.WorkOrderItem.Include(z => z.Expenses.Where(ex => ex.Id == id)).Select(z => z.WorkOrderId).SingleAsync(); + break; case AyaType.WorkOrderItemLabor: case AyaType.WorkOrderItemLoan: case AyaType.WorkOrderItemPart: @@ -274,32 +279,32 @@ namespace AyaNova.Biz } - //https://docs.microsoft.com/en-us/ef/core/querying/related-data - //docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections - var ret = - await ct.WorkOrder - .Include(w => w.Items) - .ThenInclude(wi => wi.Expenses) - .Include(w => w.Items) - .ThenInclude(wi => wi.Labors) - .Include(w => w.Items) - .ThenInclude(wi => wi.Loans) - .Include(w => w.Items) - .ThenInclude(wi => wi.Parts) - .Include(w => w.Items) - .ThenInclude(wi => wi.PartRequests) - .Include(w => w.Items) - .ThenInclude(wi => wi.ScheduledUsers) - .Include(w => w.Items) - .ThenInclude(wi => wi.Tasks) - .Include(w => w.Items) - .ThenInclude(wi => wi.Travels) - .Include(w => w.Items) - .ThenInclude(wi => wi.Units) - .SingleOrDefaultAsync(m => m.Id == id); - + // //https://docs.microsoft.com/en-us/ef/core/querying/related-data + // //docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections + // var ret = + // await ct.WorkOrder + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Expenses) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Labors) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Loans) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Parts) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.PartRequests) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.ScheduledUsers) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Tasks) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Travels) + // .Include(w => w.Items) + // .ThenInclude(wi => wi.Units) + // .SingleOrDefaultAsync(m => m.Id == id); + return new AyaTypeId(AyaType.WorkOrder, woid); } private async Task WorkOrderSearchIndexAsync(WorkOrder obj, bool isNew)