public async Task <DeleteTestResponse> DeleteTest(DeleteTestRequest request) { var cases = Db.Cases.IncludeGroup(EntityGroups.ALL, Db); var casesToDelete = await filterCases(cases, request.FilteringOrders) .ToArrayAsync(); if (casesToDelete.Length > 0) { foreach (var caseToDelete in casesToDelete) { Db.Cases.Remove(caseToDelete); await Db.SaveChangesAsync(); // i know... MessageProducer.FireTestDeleted(new TestDeletedMessage(caseToDelete.TestId, caseToDelete.TestName)); } } return(new DeleteTestResponse()); }