public void Create(EulaModel viewModel, EducationSecurityPrincipal user) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } if (user == null) { throw new ArgumentNullException("user"); } if (!user.IsInRole(SecurityRoles.DataAdmin)) { throw new EntityAccessUnauthorizedException("user"); } EulaAgreement agreement = new EulaAgreement { CreateTime = DateTime.Now, CreatingUser = user.Identity.User }; viewModel.CopyTo(agreement); EulaAgreementRepository.Add(agreement); EulaAcceptance acceptance = new EulaAcceptance { EulaAgreement = agreement, CreatingUserId = user.Identity.User.Id, CreateTime = DateTime.Now }; if (user.Identity.User.EulaAcceptances == null) { user.Identity.User.EulaAcceptances = new List<EulaAcceptance>(); } user.Identity.User.EulaAcceptances.Add(acceptance); UserRepository.Update(user.Identity.User); RepositoryContainer.Save(); }
public IQueryable<Student> GetAllowedList(EducationSecurityPrincipal user) { if (user == null) { throw new ArgumentNullException("user"); } var associatedSchoolsIds = user.Identity.User.UserRoles.SelectMany(ur => ur.Schools).Select(s => s.Id); var isAdministrator = user.IsInRole(SecurityRoles.DataAdmin); return Items.Where(s => isAdministrator || !s.HasParentalOptOut || associatedSchoolsIds.Contains(s.SchoolId)); }
public IEnumerable<int> GetFilteredFinderStudentIds(EducationSecurityPrincipal user, IClientDataTable<Student> dataTable) { IQueryable<Student> items = StudentRepository.Items; items = dataTable.ApplyFilters(items); items = dataTable.ApplySort(items); if (user.IsInRole(SecurityRoles.DataAdmin) || user.IsInRole(SecurityRoles.Provider)) { return items.Select(s => s.Id); } else { //if user has any associated schools (site coordinator) var userSchoolIds = user.Identity.User.UserRoles.SelectMany(ur => ur.Schools).Select(s => s.Id); if (userSchoolIds.Any()) { return items.Where(s => userSchoolIds.Contains(s.School.Id)).Select(s => s.Id); } return Enumerable.Empty<int>().ToList(); } }
public StudentListOptionsModel GenerateListOptionsViewModel(EducationSecurityPrincipal user) { if (user == null) { throw new ArgumentNullException("user"); } var viewModel = new StudentListOptionsModel { IsProvider = !user.IsInRole(SecurityRoles.DataAdmin) && !user.IsInRole(SecurityRoles.SiteCoordinator) && user.IsInRole(SecurityRoles.Provider) }; InitializeFilterLists(viewModel); return viewModel; }
public void PopulateViewModel(EducationSecurityPrincipal user, ServiceTypeModel viewModel) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } viewModel.IsAdministrator = user.IsInRole(SecurityRoles.DataAdmin); viewModel.Categories = new MultiSelectList(CategoryRepository.Items, "Id", "Name", viewModel.SelectedCategories); viewModel.Programs = new MultiSelectList(ProgramRepository.Items.Where(p => p.IsActive), "Id", "Name", viewModel.SelectedPrograms); }
public ServiceTypeListOptionsModel GenerateListOptionsViewModel(EducationSecurityPrincipal user) { if (user == null) { throw new ArgumentNullException("user"); } return new ServiceTypeListOptionsModel { AllowModifying = user.IsInRole(SecurityRoles.DataAdmin), CategoryFilterList = CategoryRepository.Items.Select(s => s.Name).ToList() }; }
public ServiceTypeModel GenerateEditViewModel(EducationSecurityPrincipal user, int typeId) { if (user == null) { throw new ArgumentNullException("user"); } var serviceType = ServiceTypeRepository.Items.Include(s => s.Categories).Include("ServiceOfferings.Program").SingleOrDefault(s => s.Id == typeId && s.IsActive); if (serviceType == null) { throw new EntityNotFoundException("Specified service type does not exist"); } ServiceTypeModel viewModel = new ServiceTypeModel(); viewModel.CopyFrom(serviceType); viewModel.Categories = new MultiSelectList(CategoryRepository.Items, "Id", "Name", serviceType.Categories.Select(c => c.Id)); viewModel.Programs = new MultiSelectList(ProgramRepository.Items.Where(p => p.IsActive), "Id", "Name", serviceType.ServiceOfferings.Where(so => so.IsActive && so.Program.IsActive).Select(s => s.ProgramId).Distinct()); viewModel.IsAdministrator = user.IsInRole(SecurityRoles.DataAdmin); return viewModel; }
public void GivenUserEntityIsConfiguredAsAdministorator_AndCaseDoesNotMatch_WhenIQueryForIsInRole_ThenReturnTrue() { EducationSecurityPrincipal target = CreateTarget("Admin", "*****@*****.**", "*****@*****.**"); Assert.IsTrue(target.IsInRole(SecurityRoles.Administrator)); }
public void GivenUserEntityWhenConstructed_AndUserDoesNotContainRole_WhenIQueryForIsInRole_ThenReturnFalse() { EducationSecurityPrincipal target = CreateTarget("NonAdmin", null, null); Assert.IsFalse(target.IsInRole("Admin")); }
public void GivenUserEntityIsNotConfiguredAsAdministorator_WhenIQueryForIsInRole_ThenReturnFalse() { EducationSecurityPrincipal target = CreateTarget("Admin", "*****@*****.**", "*****@*****.**"); Assert.IsFalse(target.IsInRole(SecurityRoles.Administrator)); }