public void DeleteSubArea(int subAreaId) { SubArea model = subAreaRepository.GetById(subAreaId); if (model == null) { return; } RealAreaProxy.UpdateArea(model.parentAreaId); List <int> subAreaAssignIds = GetAllAssignmentsOfSubArea(subAreaId); foreach (int subAreaAssignId in subAreaAssignIds) { DeleteAssignment(subAreaAssignId); } ExamController examController = new ExamController(); RealExamController realExamController = new RealExamController(); List <int> allExamIds = examController.GetAllSubAreaExamIds(subAreaId); foreach (int examId in allExamIds) { realExamController.DeleteExam(examId); } Delete(subAreaId); }