private static void AddDelegateToDataTable(
            DataTable dataTable,
            CourseDelegateForExport courseDelegate,
            CentreRegistrationPrompts registrationRegistrationPrompts,
            CourseAdminFields adminFields
            )
        {
            var row = dataTable.NewRow();

            SetCommonRowValues(dataTable, courseDelegate, registrationRegistrationPrompts, row);

            foreach (var prompt in adminFields.AdminFields)
            {
                if (dataTable.Columns.Contains($"{prompt.PromptText} (Prompt {prompt.PromptNumber})"))
                {
                    row[$"{prompt.PromptText} (Prompt {prompt.PromptNumber})"] =
                        courseDelegate.DelegateCourseAdminFields[prompt.PromptNumber - 1];
                }
                else
                {
                    row[prompt.PromptText] =
                        courseDelegate.DelegateCourseAdminFields[prompt.PromptNumber - 1];
                }
            }

            dataTable.Rows.Add(row);
        }
        private static void AddDelegateToDataTableForExportAll(
            DataTable dataTable,
            CourseDelegateForExport courseDelegate,
            CentreRegistrationPrompts registrationRegistrationPrompts
            )
        {
            var row = dataTable.NewRow();

            SetCommonRowValues(dataTable, courseDelegate, registrationRegistrationPrompts, row);

            row[AdminFieldOne]   = courseDelegate.Answer1;
            row[AdminFieldTwo]   = courseDelegate.Answer2;
            row[AdminFieldThree] = courseDelegate.Answer3;

            dataTable.Rows.Add(row);
        }
コード例 #3
0
        public void GetDelegatesOnCourseForExport_returns_expected_values()
        {
            // Given
            var expectedFirstRecord = new CourseDelegateForExport
            {
                CustomisationName   = "Standard",
                ApplicationName     = "Entry Level - Win XP, Office 2003/07 OLD",
                IsDelegateActive    = true,
                CandidateNumber     = "PC97",
                CompleteBy          = null,
                DelegateId          = 32926,
                DelegateEmail       = "erpock.hs@5bntu",
                Enrolled            = new DateTime(2012, 07, 02, 13, 30, 37, 807),
                DelegateFirstName   = "xxxxx",
                DelegateLastName    = "xxxx",
                LastUpdated         = new DateTime(2012, 07, 31, 10, 18, 39, 993),
                IsProgressLocked    = false,
                ProgressId          = 18395,
                RemovedDate         = null,
                Completed           = null,
                CustomisationId     = 1,
                RegistrationAnswer1 = null,
                RegistrationAnswer2 = null,
                RegistrationAnswer3 = null,
                RegistrationAnswer4 = null,
                RegistrationAnswer5 = null,
                RegistrationAnswer6 = null,
                Answer1             = "",
                Answer2             = "",
                Answer3             = "",
                LoginCount          = 1,
                Duration            = 0,
                DiagnosticScore     = 0,
                AllAttempts         = 0,
                AttemptsPassed      = 0,
            };

            // When
            var result = courseDataService.GetDelegatesOnCourseForExport(1, 2).ToList();

            // Then
            using (new AssertionScope())
            {
                result.Should().HaveCount(3);
                result.First().Should().BeEquivalentTo(expectedFirstRecord);
            }
        }
        private static void SetCommonRowValues(
            DataTable dataTable,
            CourseDelegateForExport courseDelegate,
            CentreRegistrationPrompts registrationRegistrationPrompts,
            DataRow row
            )
        {
            row[CourseName] = courseDelegate.CourseName;
            row[LastName]   = courseDelegate.DelegateLastName;
            row[FirstName]  = courseDelegate.DelegateFirstName;
            row[Email]      = courseDelegate.DelegateEmail;

            foreach (var prompt in registrationRegistrationPrompts.CustomPrompts)
            {
                if (dataTable.Columns.Contains($"{prompt.PromptText} (Prompt {prompt.RegistrationField.Id})"))
                {
                    row[$"{prompt.PromptText} (Prompt {prompt.RegistrationField.Id})"] =
                        courseDelegate.DelegateRegistrationPrompts[prompt.RegistrationField.Id - 1];
                }
                else
                {
                    row[prompt.PromptText] =
                        courseDelegate.DelegateRegistrationPrompts[prompt.RegistrationField.Id - 1];
                }
            }
            row[DelegateId]        = courseDelegate.CandidateNumber;
            row[Enrolled]          = courseDelegate.Enrolled.Date;
            row[LastAccessed]      = courseDelegate.LastUpdated.Date;
            row[CompleteBy]        = courseDelegate.CompleteBy?.Date;
            row[CompletedDate]     = courseDelegate.Completed?.Date;
            row[Logins]            = courseDelegate.LoginCount;
            row[TimeMinutes]       = courseDelegate.Duration;
            row[DiagnosticScore]   = courseDelegate.DiagnosticScore;
            row[AssessmentsPassed] = courseDelegate.AttemptsPassed;
            row[PassRate]          = courseDelegate.PassRate;
            row[Active]            = courseDelegate.IsDelegateActive;
            row[RemovedDate]       = courseDelegate.RemovedDate?.Date;
            row[Locked]            = courseDelegate.IsProgressLocked;
        }