diff --git a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs
index c97f7c86..17cd70db 100644
--- a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs
+++ b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs
@@ -114,6 +114,7 @@ public class WorkGridsController : ControllerBase
///
///
[HttpPost("user/remove")]
+ [Transactional]
public async Task RemoveUsersFromWorkGridAsync(WorkGridUserRemoveRequest request)
{
await _workGridService.RemoveAsync(request);
diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs
index d41b1856..c01d8c73 100644
--- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs
+++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs
@@ -171,6 +171,11 @@ public class WorkGridService : IWorkGridService
.Where(x => request.UserCodes.Contains(x.UserCode))
.ToListAsync();
+ var workGridSchedules = await _dbContext.Queryable().Where(x => x.WorkGridCode == myWorkGrid.Code)
+ .Where(x => request.UserCodes.Contains(x.UserCode))
+ .ToListAsync();
+
await _dbContext.DeleteReallyAsync(workGridUsers);
+ await _dbContext.DeleteReallyAsync(workGridSchedules);
}
}
\ No newline at end of file