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); }
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; }