public void RandomActiveCourse() { var courses = ( from ac in dbContext.AvailableCourses select ac ).ToList(); var students = ( from stu in dbContext.Students select stu ).ToList(); foreach (var course in courses) { foreach (var student in students) { var activeCourses = ( from ac in dbContext.ActiveCourses select ac ).ToList(); for (int i = 0; i < 2; i++) { exists = false; ActiveCourse ac = new ActiveCourse(); ac.StudentID = student.ID; var crs = courses[rnd.Next(0, courses.Count)]; ac.CourseID = crs.CourseID; ac.TrainerID = crs.TrainerID; foreach (var aCrs in activeCourses) { if (ac.CourseID == aCrs.CourseID) { if (ac.TrainerID == aCrs.TrainerID) { if (ac.StudentID == aCrs.StudentID) { exists = true; } } } } if (!exists) { dbContext.ActiveCourses.Add(ac); Console.WriteLine("Press key to Add Courses"); Console.ReadKey(); dbContext.SaveChanges(); } } } } Console.WriteLine("Press key to Add Courses"); Console.ReadKey(); dbContext.SaveChanges(); }
//TODO 12: Match Students to Course public void CreateActiveCourse() { Console.Clear(); int courseID; int studentID; bool isInt = true; string strInput; List <int> userIDs = new List <int>(); tv.ViewAvailableCourses(); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Select a Course by typing the ID: "); Console.ResetColor(); courseID = int.Parse(Console.ReadLine()); var availableCourse = dbContext.AvailableCourses.Where(ac => ac.ID == courseID).FirstOrDefault(); while (isInt) { Console.Clear(); tv.ViewStudents(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Any other key stops the process."); Console.Write("Pick a student by typing in the ID: "); Console.ResetColor(); strInput = Console.ReadLine(); isInt = int.TryParse(strInput, out int output); if (output > 0) { studentID = output; userIDs.Add(studentID); } else { continue; } } foreach (var id in userIDs) { ActiveCourse activeCourse = new ActiveCourse() { CourseID = availableCourse.CourseID, TrainerID = availableCourse.TrainerID, StudentID = id }; dbContext.ActiveCourses.Add(activeCourse); } Console.ForegroundColor = ConsoleColor.Green; Console.Write("Commit changes? y/n "); Console.ResetColor(); string input = Console.ReadLine().ToLower(); if (input.Equals("y")) { dbContext.SaveChanges(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Changes saved to database."); Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Changes not committed. Please retry."); Console.ResetColor(); } Console.ReadKey(); }