public void Create(EducationSecurityPrincipal user, ProviderModel viewModel) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } var item = ProviderRepository.Items.Include("ServiceOfferings.Program.Schools").SingleOrDefault(p => p.Name == viewModel.Name && !p.IsActive); if (item == null) { item = new Provider(); ProviderRepository.Add(item); } viewModel.Id = item.Id; item.IsActive = true; viewModel.CopyTo(item); UpdateProviderPrograms(viewModel.SelectedPrograms, item); RepositoryContainer.Save(); }
public void Edit(EducationSecurityPrincipal user, ProviderModel viewModel) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } Provider updatedProvider = ProviderRepository.Items .Include("ServiceOfferings.Program.Schools") .SingleOrDefault(p => p.Id == viewModel.Id); if (updatedProvider == null || !updatedProvider.IsActive) { throw new EntityNotFoundException("Specified Provider does not exist."); } IPermission permission = PermissionFactory.Current.Create("EditProvider", viewModel.Id); permission.GrantAccess(user); Validate(viewModel); viewModel.CopyTo(updatedProvider); ProviderRepository.Update(updatedProvider); UpdateProviderPrograms(viewModel.SelectedPrograms, updatedProvider); RepositoryContainer.Save(); }