public EditRolesViewModel( AdminUser user, int centreId, IEnumerable <Category> categories, CentreContractAdminUsage numberOfAdmins ) : base(user, centreId) { IsCentreAdmin = user.IsCentreAdmin; IsSupervisor = user.IsSupervisor; IsTrainer = user.IsTrainer; IsContentCreator = user.IsContentCreator; if (user.IsCmsAdministrator) { ContentManagementRole = ContentManagementRole.CmsAdministrator; } else if (user.IsCmsManager) { ContentManagementRole = ContentManagementRole.CmsManager; } else { ContentManagementRole = ContentManagementRole.NoContentManagementRole; } LearningCategory = user.CategoryId; LearningCategories = SelectListHelper.MapOptionsToSelectListItems( categories.Select(c => (c.CourseCategoryID, c.CategoryName)), user.CategoryId ); SetUpCheckboxesAndRadioButtons(user, numberOfAdmins); }
public void Numbers_are_retrieved_correctly() { // Given var adminUsers = GetAdminUsersForTest(); var centre = CentreTestHelper.GetDefaultCentre( cmsAdministratorSpots: 11, cmsManagerSpots: 12, ccLicenceSpots: 10, trainerSpots: 5 ); // When var result = new CentreContractAdminUsage(centre, adminUsers); // Then using (new AssertionScope()) { result.AdminCount.Should().Be(7); result.SupervisorCount.Should().Be(6); result.TrainerCount.Should().Be(1); result.CcLicenceCount.Should().Be(2); result.CmsAdministratorCount.Should().Be(3); result.CmsManagerCount.Should().Be(2); result.TrainerSpots.Should().Be(5); result.CcLicenceSpots.Should().Be(10); result.CmsAdministratorSpots.Should().Be(11); result.CmsManagerSpots.Should().Be(12); } }
public NumberOfAdministratorsViewModel(CentreContractAdminUsage numberOfAdministrators) { Admins = numberOfAdministrators.AdminCount.ToString(); Supervisors = numberOfAdministrators.SupervisorCount.ToString(); Trainers = DisplayStringHelper.FormatNumberWithLimit( numberOfAdministrators.TrainerCount, numberOfAdministrators.TrainerSpots ); CmsAdministrators = DisplayStringHelper.FormatNumberWithLimit( numberOfAdministrators.CmsAdministratorCount, numberOfAdministrators.CmsAdministratorSpots ); CmsManagers = DisplayStringHelper.FormatNumberWithLimit( numberOfAdministrators.CmsManagerCount, numberOfAdministrators.CmsManagerSpots ); CcLicences = DisplayStringHelper.FormatNumberWithLimit( numberOfAdministrators.CcLicenceCount, numberOfAdministrators.CcLicenceSpots ); }
public PromoteToAdminViewModel( DelegateUser user, int centreId, IEnumerable <Category> categories, CentreContractAdminUsage numberOfAdmins ) : base(user, centreId) { DelegateId = user.Id; IsCentreAdmin = false; IsSupervisor = false; IsTrainer = false; IsContentCreator = false; ContentManagementRole = ContentManagementRole.NoContentManagementRole; LearningCategory = 0; LearningCategories = SelectListHelper.MapOptionsToSelectListItems( categories.Select(c => (c.CourseCategoryID, c.CategoryName)), 0 ); SetUpCheckboxesAndRadioButtons(numberOfAdmins); }
private void SetUpCheckboxesAndRadioButtons(AdminUser user, CentreContractAdminUsage numberOfAdmins) { if (!numberOfAdmins.TrainersAtOrOverLimit || user.IsTrainer) { Checkboxes.Add(AdminRoleInputs.TrainerCheckbox); } if (!numberOfAdmins.CcLicencesAtOrOverLimit || user.IsContentCreator) { Checkboxes.Add(AdminRoleInputs.ContentCreatorCheckbox); } if (!numberOfAdmins.CmsAdministratorsAtOrOverLimit || user.IsCmsAdministrator) { Radios.Add(AdminRoleInputs.CmsAdministratorRadioButton); } if (!numberOfAdmins.CmsManagersAtOrOverLimit || user.IsCmsManager) { Radios.Add(AdminRoleInputs.CmsManagerRadioButton); } Radios.Add(AdminRoleInputs.NoCmsPermissionsRadioButton); }
private void GivenAdminDataReturned(CentreContractAdminUsage numberOfAdmins, AdminUser adminUser) { A.CallTo(() => userDataService.GetAdminUserById(A <int> ._)).Returns(adminUser); A.CallTo(() => centreContractAdminUsageService.GetCentreAdministratorNumbers(A <int> ._)) .Returns(numberOfAdmins); }