public async Task <IActionResult> ResetLimitsForStudents(int groupId, ResetLimitsParameters parameters) { var hasEditAccess = await groupAccessesRepo.HasUserEditAccessToGroupAsync(groupId, UserId); if (!hasEditAccess) { return(StatusCode((int)HttpStatusCode.Forbidden, new ErrorResponse("You have no edit access to this group"))); } var group = await groupsRepo.FindGroupByIdAsync(groupId); var members = await groupMembersRepo.GetGroupsMembersIdsAsync(new [] { groupId }); var studentsToProcessSet = parameters.StudentIds.ToHashSet(); studentsToProcessSet.IntersectWith(members); foreach (var studentId in studentsToProcessSet) { await slideCheckingsRepo.ResetAutomaticCheckingLimitsForUser(group.CourseId, studentId); } return(Ok(new SuccessResponseWithMessage($"Limits for {studentsToProcessSet.Count} students have been reset"))); }