public void AddProviders(AddStudentApprovalModel viewModel) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } var student = StudentRepository.Items.SingleOrDefault(s => s.Id == viewModel.StudentId); if (student == null) { throw new EntityNotFoundException("Student with specified identifier was not found."); } var selectedProviders = ProviderRepository.Items.Where(p => viewModel.ProvidersToAdd.Contains(p.Id)).ToList(); if (selectedProviders.Count < viewModel.ProvidersToAdd.Count()) { throw new EntityNotFoundException("At least one provider selected cannot be associated with the student because it was not found using the given identifier."); } foreach (Provider provider in selectedProviders) { StudentRepository.AddLink(student, provider); } RepositoryContainer.Save(); }