Exemple #1
0
        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();
        }