public DelegateInfoViewModel(
            DelegateUserCard delegateUser,
            IEnumerable <DelegateRegistrationPrompt> delegateRegistrationPrompts
            )
        {
            Id        = delegateUser.Id;
            TitleName = delegateUser.SearchableName;
            Name      = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly(
                delegateUser.FirstName,
                delegateUser.LastName
                );
            CandidateNumber = delegateUser.CandidateNumber;

            IsActive         = delegateUser.Active;
            IsAdmin          = delegateUser.IsAdmin;
            IsPasswordSet    = delegateUser.IsPasswordSet;
            RegistrationType = delegateUser.RegistrationType;

            Email      = delegateUser.EmailAddress;
            JobGroupId = delegateUser.JobGroupId;
            JobGroup   = delegateUser.JobGroupName;
            ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString(
                delegateUser.HasBeenPromptedForPrn,
                delegateUser.ProfessionalRegistrationNumber
                );
            if (delegateUser.DateRegistered.HasValue)
            {
                RegistrationDate = delegateUser.DateRegistered.Value.ToString(DateHelper.StandardDateFormat);
            }

            AliasId = delegateUser.AliasId;

            DelegateRegistrationPrompts = delegateRegistrationPrompts;
        }
 public UnapprovedDelegate(
     DelegateUser delegateUser,
     List <CentreRegistrationPromptWithAnswer> registrationPrompts
     )
 {
     Id = delegateUser.Id;
     CandidateNumber = delegateUser.CandidateNumber;
     TitleName       = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly(
         delegateUser.FirstName,
         delegateUser.LastName
         );
     Email          = delegateUser.EmailAddress;
     DateRegistered = delegateUser.DateRegistered;
     JobGroup       = delegateUser.JobGroupName;
     ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString(
         delegateUser.HasBeenPromptedForPrn,
         delegateUser.ProfessionalRegistrationNumber
         );
     DelegateRegistrationPrompts = registrationPrompts
                                   .Select(
         cp => new DelegateRegistrationPrompt(
             cp.RegistrationField.Id,
             cp.PromptText,
             cp.Mandatory,
             cp.Answer
             )
         )
                                   .ToList();
 }
        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;
        }
        public void GetPrnDisplayString_returns_Not_yet_provided_when_the_delegate_has_not_been_prompted_for_a_prn()
        {
            // When
            var result = PrnStringHelper.GetPrnDisplayString(false, null);

            // Then
            result.Should().Be("Not yet provided");
        }
        GetPrnDisplayString_returns_Not_professionally_registered_when_the_delegate_has_been_prompted_and_has_not_provided_a_prn()
        {
            // When
            var result = PrnStringHelper.GetPrnDisplayString(true, null);

            // Then
            result.Should().Be("Not professionally registered");
        }
 public RejectDelegateViewModel(DelegateUser delegateUser)
 {
     Id             = delegateUser.Id;
     FullName       = delegateUser.FirstName + " " + delegateUser.LastName;
     Email          = delegateUser.EmailAddress;
     DateRegistered = delegateUser.DateRegistered;
     ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString(
         delegateUser.HasBeenPromptedForPrn,
         delegateUser.ProfessionalRegistrationNumber
         );
 }
        public void GetPrnDisplayString_returns_the_prn_when_the_delegate_has_been_prompted_and_has_provided_a_prn()
        {
            // Given
            const string?prn = "12345";

            // When
            var result = PrnStringHelper.GetPrnDisplayString(true, prn);

            // Then
            result.Should().Be(prn);
        }
Ejemplo n.º 8
0
 public GroupDelegateViewModel(GroupDelegate groupDelegate, ReturnPageQuery returnPageQuery)
 {
     GroupDelegateId = groupDelegate.GroupDelegateId;
     GroupId         = groupDelegate.GroupId;
     DelegateId      = groupDelegate.DelegateId;
     TitleName       = groupDelegate.SearchableName;
     Name            = DisplayStringHelper.GetNonSortableFullNameForDisplayOnly(groupDelegate.FirstName, groupDelegate.LastName);
     EmailAddress    = groupDelegate.EmailAddress;
     CandidateNumber = groupDelegate.CandidateNumber;
     ProfessionalRegistrationNumber = PrnStringHelper.GetPrnDisplayString(
         groupDelegate.HasBeenPromptedForPrn,
         groupDelegate.ProfessionalRegistrationNumber
         );
     ReturnPageQuery = returnPageQuery;
 }
Ejemplo n.º 9
0
        private static void SetDelegateRowValues(
            DataTable dataTable,
            DelegateUserCard delegateRecord,
            CentreRegistrationPrompts registrationPrompts
            )
        {
            var row = dataTable.NewRow();

            row[LastName]   = delegateRecord.LastName;
            row[FirstName]  = delegateRecord.FirstName;
            row[DelegateId] = delegateRecord.CandidateNumber;
            row[Email]      = delegateRecord.EmailAddress;
            row[ProfessionalRegistrationNumber] = PrnStringHelper.GetPrnDisplayString(
                delegateRecord.HasBeenPromptedForPrn,
                delegateRecord.ProfessionalRegistrationNumber
                );
            row[Alias]          = delegateRecord.AliasId;
            row[JobGroup]       = delegateRecord.JobGroupName;
            row[RegisteredDate] = delegateRecord.DateRegistered?.Date;

            var delegateAnswers = delegateRecord.GetCentreAnswersData();

            foreach (var prompt in registrationPrompts.CustomPrompts)
            {
                if (dataTable.Columns.Contains($"{prompt.PromptText} (Prompt {prompt.RegistrationField.Id})"))
                {
                    row[$"{prompt.PromptText} (Prompt {prompt.RegistrationField.Id})"] =
                        delegateAnswers.GetAnswerForRegistrationPromptNumber(prompt.RegistrationField);
                }
                else
                {
                    row[prompt.PromptText] =
                        delegateAnswers.GetAnswerForRegistrationPromptNumber(prompt.RegistrationField);
                }
            }

            row[PasswordSet] = delegateRecord.IsPasswordSet;
            row[Active]      = delegateRecord.Active;
            row[Approved]    = delegateRecord.Approved;
            row[IsAdmin]     = delegateRecord.IsAdmin;

            dataTable.Rows.Add(row);
        }
        public MyAccountViewModel(
            AdminUser?adminUser,
            DelegateUser?delegateUser,
            CentreRegistrationPromptsWithAnswers?customPrompts,
            DlsSubApplication dlsSubApplication
            )
        {
            FirstName      = adminUser?.FirstName ?? delegateUser?.FirstName;
            Surname        = adminUser?.LastName ?? delegateUser?.LastName;
            User           = adminUser?.EmailAddress ?? delegateUser?.EmailAddress;
            ProfilePicture = adminUser?.ProfileImage ?? delegateUser?.ProfileImage;
            Centre         = adminUser?.CentreName ?? delegateUser?.CentreName;
            DelegateNumber = delegateUser?.CandidateNumber;
            AliasId        = delegateUser?.AliasId;
            JobGroup       = delegateUser?.JobGroupName;
            ProfessionalRegistrationNumber = delegateUser == null
                ? null
                : PrnStringHelper.GetPrnDisplayString(
                delegateUser.HasBeenPromptedForPrn,
                delegateUser.ProfessionalRegistrationNumber
                );

            DelegateRegistrationPrompts = new List <DelegateRegistrationPrompt>();
            if (customPrompts != null)
            {
                DelegateRegistrationPrompts = customPrompts.CustomPrompts.Select(
                    cp =>
                    new DelegateRegistrationPrompt(
                        cp.RegistrationField.Id,
                        cp.PromptText,
                        cp.Mandatory,
                        cp.Answer
                        )
                    )
                                              .ToList();
            }

            DlsSubApplication = dlsSubApplication;
        }