This commit is contained in:
2020-05-11 18:39:34 +00:00
parent 1e879c6dbc
commit 0f03e9c967

View File

@@ -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();