コード例 #1
0
        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);
        }
コード例 #2
0
        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
                );
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 private void GivenAdminDataReturned(CentreContractAdminUsage numberOfAdmins, AdminUser adminUser)
 {
     A.CallTo(() => userDataService.GetAdminUserById(A <int> ._)).Returns(adminUser);
     A.CallTo(() => centreContractAdminUsageService.GetCentreAdministratorNumbers(A <int> ._))
     .Returns(numberOfAdmins);
 }