Esempio n. 1
0
        public DelegateCourseInfoViewModel(DelegateCourseDetails details)
        {
            var info = details.DelegateCourseInfo;

            ProgressId         = info.ProgressId;
            CustomisationId    = info.CustomisationId;
            ApplicationName    = info.ApplicationName;
            CustomisationName  = info.CustomisationName;
            SupervisorForename = info.SupervisorForename;
            SupervisorSurname  = info.SupervisorSurname;
            Enrolled           = info.Enrolled.ToString(DateHelper.StandardDateFormat);
            LastUpdated        = info.LastUpdated.ToString(DateHelper.StandardDateFormat);
            CompleteBy         = info.CompleteBy?.ToString(DateHelper.StandardDateFormat);
            Completed          = info.Completed?.ToString(DateHelper.StandardDateFormat);
            Evaluated          = info.Evaluated?.ToString(DateHelper.StandardDateFormat);
            EnrolmentMethod    = info.EnrolmentMethodId switch
            {
                1 => "Self enrolled",
                2 => "Administrator",
                3 => "Group",
                4 => "System",
                _ => "",
            };
            LoginCount      = info.LoginCount;
            LearningTime    = info.LearningTime + " mins";
            DiagnosticScore = info.DiagnosticScore;
            IsAssessed      = info.IsAssessed;

            DelegateId = details.DelegateCourseInfo.DelegateId;

            CourseCustomPromptsWithAnswers = details.CustomPrompts;
            TotalAttempts  = details.AttemptStats.TotalAttempts;
            AttemptsPassed = details.AttemptStats.AttemptsPassed;
            PassRate       = details.AttemptStats.PassRate;
        }
Esempio n. 2
0
        public void DelegateCourseInfoViewModel_sets_date_strings_correctly()
        {
            // Given
            var enrolledDate   = new DateTime(2021, 05, 1);
            var updatedDate    = new DateTime(2021, 05, 2);
            var completeByDate = new DateTime(2021, 05, 3);
            var completedDate  = new DateTime(2021, 05, 4);
            var evaluatedDate  = new DateTime(2021, 05, 5);
            var info           = new DelegateCourseInfo
            {
                Enrolled    = enrolledDate,
                LastUpdated = updatedDate,
                CompleteBy  = completeByDate,
                Completed   = completedDate,
                Evaluated   = evaluatedDate
            };
            var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats);

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.Enrolled.Should().Be("01/05/2021");
            model.LastUpdated.Should().Be("02/05/2021");
            model.CompleteBy.Should().Be("03/05/2021");
            model.Completed.Should().Be("04/05/2021");
            model.Evaluated.Should().Be("05/05/2021");
        }
Esempio n. 3
0
 public DelegateProgressViewModel(
     DelegateProgressAccessRoute accessedVia,
     DelegateCourseDetails details
     ) : base(details)
 {
     AccessedVia           = accessedVia;
     CustomisationCentreId = details.DelegateCourseInfo.CustomisationCentreId;
     IsCourseActive        = details.DelegateCourseInfo.IsCourseActive;
     AllCentresCourse      = details.DelegateCourseInfo.AllCentresCourse;
     CourseCategoryId      = details.DelegateCourseInfo.CourseCategoryId;
     SupervisorAdminId     = details.DelegateCourseInfo.SupervisorAdminId;
     EnrolmentMethodId     = details.DelegateCourseInfo.EnrolmentMethodId;
     EnrolledByAdminId     = details.DelegateCourseInfo.EnrolledByAdminId;
     EnrolledByForename    = details.DelegateCourseInfo.EnrolledByForename;
     EnrolledBySurname     = details.DelegateCourseInfo.EnrolledBySurname;
     RemovedDate           = details.DelegateCourseInfo.RemovedDate?.ToString(DateHelper.StandardDateFormat);
     DelegateId            = details.DelegateCourseInfo.DelegateId;
     DelegateFirstName     = details.DelegateCourseInfo.DelegateFirstName;
     DelegateLastName      = details.DelegateCourseInfo.DelegateLastName;
     DelegateEmail         = details.DelegateCourseInfo.DelegateEmail;
     DelegateCentreId      = details.DelegateCourseInfo.DelegateCentreId;
     CustomFields          = details.CustomPrompts.Select(
         cp =>
         new CustomFieldViewModel(
             cp.CustomPromptNumber,
             cp.CustomPromptText,
             cp.Mandatory,
             cp.Answer
             )
         )
                             .ToList();
 }
Esempio n. 4
0
        public void DelegateCourseInfoViewModel_without_customisation_name_sets_course_name_correctly()
        {
            // Given
            var info = new DelegateCourseInfo
            {
                ApplicationName = "my application", CustomisationName = ""
            };
            var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats);

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.CourseName.Should().Be("my application");
        }
Esempio n. 5
0
        public void DelegateCourseInfoViewModel_without_supervisor_surname_sets_supervisor_correctly()
        {
            // Given
            var info = new DelegateCourseInfo
            {
                SupervisorSurname = null
            };
            var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats);

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.Supervisor.Should().BeNull();
        }
Esempio n. 6
0
        public void DelegateCourseInfoViewModel_with_supervisor_forename_sets_supervisor_correctly()
        {
            // Given
            var info = new DelegateCourseInfo
            {
                SupervisorForename = "firstname",
                SupervisorSurname  = "surname"
            };
            var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats);

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.Supervisor.Should().Be("firstname surname");
        }
Esempio n. 7
0
        public void DelegateCourseInfoViewModel_sets_enrollment_method_correctly(
            int enrollmentMethodId,
            string enrollmentMethod
            )
        {
            // Given
            var info = new DelegateCourseInfo {
                EnrolmentMethodId = enrollmentMethodId
            };
            var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats);

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.EnrolmentMethod.Should().Be(enrollmentMethod);
        }
Esempio n. 8
0
        public void DelegateCourseInfoViewModel_sets_pass_rate_correctly(
            int totalAttempts,
            int attemptsPassed,
            string?passRate
            )
        {
            // Given
            var details = new DelegateCourseDetails(
                new DelegateCourseInfo(),
                customPromptsWithAnswers,
                new AttemptStats(totalAttempts, attemptsPassed)
                );

            // When
            var model = new DelegateCourseInfoViewModel(details);

            // Then
            model.PassRateDisplayString.Should().Be(passRate);
        }