/// <summary> /// Initializes a new instance of the <see cref="ProgramCharacteristics"/> class. /// </summary> /// <param name="ageGroup">The age group.</param> /// <param name="genderSpecification">The gender specification.</param> /// <param name="treatmentApproach">The treatment approach.</param> /// <param name="programCategory">The program category.</param> public ProgramCharacteristics(AgeGroup ageGroup, GenderSpecification genderSpecification, TreatmentApproach treatmentApproach, ProgramCategory programCategory) : this() { Check.IsNotNull(ageGroup, "Age Group is required."); Check.IsNotNull(genderSpecification, "Gender Specification is required."); Check.IsNotNull(treatmentApproach, "Treatment Approach is required."); Check.IsNotNull(programCategory, "Program Category is required."); _ageGroup = ageGroup; _genderSpecification = genderSpecification; _treatmentApproach = treatmentApproach; _programCategory = programCategory; }
public static string analyzeData(IEnumerable <Student> students, string subject, string yearGroup, out string message) { var spec1 = new ClassSpecification(subject); if (spec1.subjectName == "Invalid") { message = "Invalid Input"; return("Invalid Input"); } var bf = new BetterFilter(); var SubjectStud = bf.filterItems(students, spec1); var maleCount = 0; var femaleCount = 0; var counter = 0; var boySpec = new GenderSpecification("Boy"); var swString1 = $"In year {yearGroup}, People who do {subject} are: \n \n "; StringBuilder stringBuilder = new StringBuilder(); foreach (var student in SubjectStud) { string string2 = $"{student.Name}, "; if (counter == 6) { string2 = $"{student.Name} \n "; counter = -1; } stringBuilder.Append(string2); if (boySpec.IsSatisfied(student)) { maleCount++; } else if (!boySpec.IsSatisfied(student)) { femaleCount++; } counter++; } Console.ForegroundColor = ConsoleColor.DarkMagenta; var swString2 = stringBuilder.ToString(); var swString3 = "\n"; var swString4 = $" {SubjectStud.Count()} people do {subject}\n"; var swString5 = $" {maleCount} boys do {subject}"; var swString6 = $" {femaleCount} girls do {subject} \n"; var swString7 = "========================================================================" + "================================================ \n"; var semiCompletedString = swString2 + swString3; var combinedString = swString1 + swString2 + swString3 + swString4 + swString5 + swString6 + swString7; Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(swString1); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(semiCompletedString); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine(swString4 + swString5 + swString6); message = "Successful"; return(combinedString); }