diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 35e2127a..1442224c 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -453,21 +453,45 @@ namespace AyaNova.Biz return false; //collect the child id's to delete + var ExpenseIds = await ct.WorkOrderItemExpense.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); var LaborIds = await ct.WorkOrderItemLabor.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var LoanIds = await ct.WorkOrderItemLoan.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); var PartIds = await ct.WorkOrderItemPart.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var PartRequestIds = await ct.WorkOrderItemPartRequest.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var ScheduledUserIds = await ct.WorkOrderItemScheduledUser.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var TaskIds = await ct.WorkOrderItemTask.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var TravelIds = await ct.WorkOrderItemTravel.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); + var UnitIds = await ct.WorkOrderItemUnit.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync(); //Delete children + foreach (long ItemId in ExpenseIds) + if (!await ExpenseDeleteAsync(ItemId)) + return false; foreach (long ItemId in LaborIds) - { if (!await LaborDeleteAsync(ItemId)) return false; - } + foreach (long ItemId in LoanIds) + if (!await LoanDeleteAsync(ItemId)) + return false; foreach (long ItemId in PartIds) - { if (!await PartDeleteAsync(ItemId)) return false; - } - + foreach (long ItemId in PartRequestIds) + if (!await PartRequestDeleteAsync(ItemId)) + return false; + foreach (long ItemId in ScheduledUserIds) + if (!await ScheduledUserDeleteAsync(ItemId)) + return false; + foreach (long ItemId in TaskIds) + if (!await TaskDeleteAsync(ItemId)) + return false; + foreach (long ItemId in TravelIds) + if (!await TravelDeleteAsync(ItemId)) + return false; + foreach (long ItemId in UnitIds) + if (!await UnitDeleteAsync(ItemId)) + return false; + ct.WorkOrderItem.Remove(dbObject); await ct.SaveChangesAsync();