private DelegateCourseInfoViewModel(DelegateCourseInfo info)
        {
            ProgressId      = info.ProgressId;
            CustomisationId = info.CustomisationId;

            DelegateId   = info.DelegateId;
            DelegateName = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly(
                info.DelegateFirstName,
                info.DelegateLastName
                );
            CourseDelegatesDisplayName =
                NameQueryHelper.GetSortableFullName(info.DelegateFirstName, info.DelegateLastName);
            Email          = info.DelegateEmail;
            DelegateNumber = info.CandidateNumber;
            ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString(
                info.HasBeenPromptedForPrn,
                info.ProfessionalRegistrationNumber
                );

            Enrolled   = info.Enrolled.ToString(DateHelper.StandardDateAndTimeFormat);
            Supervisor = info.SupervisorSurname != null
                ? DisplayStringHelper.GetPotentiallyInactiveAdminName(
                info.SupervisorForename,
                info.SupervisorSurname,
                info.SupervisorAdminActive !.Value
                )
                : "None";

            CompleteBy   = info.CompleteBy?.ToString(DateHelper.StandardDateAndTimeFormat);
            LastAccessed = info.LastUpdated.ToString(DateHelper.StandardDateAndTimeFormat);
            Completed    = info.Completed?.ToString(DateHelper.StandardDateAndTimeFormat);
            Evaluated    = info.Evaluated?.ToString(DateHelper.StandardDateAndTimeFormat);
            RemovedDate  = info.RemovedDate?.ToString(DateHelper.StandardDateAndTimeFormat);

            var enrolledByFullName = DisplayStringHelper.GetPotentiallyInactiveAdminName(
                info.EnrolledByForename,
                info.EnrolledBySurname,
                info.EnrolledByAdminActive
                );

            EnrolmentMethod = info.EnrolmentMethodId switch
            {
                1 => "Self enrolled",
                2 => "Enrolled by " + (enrolledByFullName ?? "Admin"),
                3 => "Group",
                _ => "System",
            };

            LoginCount      = info.LoginCount;
            LearningTime    = info.LearningTime + " mins";
            DiagnosticScore = info.DiagnosticScore;
            CourseAdminFieldsWithAnswers = info.CourseAdminFields;
            IsAssessed       = info.IsAssessed;
            IsProgressLocked = info.IsProgressLocked;
            TotalAttempts    = info.AllAttempts;
            AttemptsPassed   = info.AttemptsPassed;
            PassRate         = info.PassRate;
            CourseName       = info.CourseName;
        }
Exemplo n.º 2
0
        public void GetSortableFullName_returns_last_name_only_when_first_name_is_null_or_whitespace(string?firstName)
        {
            // Given
            const string lastName = "Dickinson";

            // When
            var result = NameQueryHelper.GetSortableFullName(firstName, lastName);

            // Then
            result.Should().Be(lastName);
        }
Exemplo n.º 3
0
        public void GetSortableFullName_returns_correctly_formatted_name_when_both_names_provided()
        {
            // Given
            const string lastName  = "Dickinson";
            const string firstName = "Bruce";

            // When
            var result = NameQueryHelper.GetSortableFullName(firstName, lastName);

            // Then
            result.Should().Be("Dickinson, Bruce");
        }