public void RandomAvailableCourse() { var trainers = ( from tr in dbContext.Trainers select tr ).ToList(); var courses = ( from cr in dbContext.Courses select cr ).ToList(); foreach (var trainer in trainers) { foreach (var course in courses) { if (trainer.Subject.Trim().Equals(course.Title.Trim())) { AvailableCourse ac = new AvailableCourse(); ac.TrainerID = trainer.ID; ac.CourseID = course.ID; ac.Course = ( from crs in dbContext.Courses where crs.ID == course.ID select crs ).FirstOrDefault(); ac.Trainer = ( from tr in dbContext.Trainers where tr.ID == trainer.ID select tr ).FirstOrDefault(); if (ac.Course.Type.Trim().Equals("Full Time")) { ac.StartDate = dates[0]; ac.EndDate = dates[2]; } else if (ac.Course.Type.Trim().Equals("Part Time")) { ac.StartDate = dates[rnd.Next(0, 1)]; if (ac.StartDate.Equals(dates[0])) { ac.EndDate = dates[1]; } else { ac.EndDate = dates[2]; } } var availCourses = ( from avCr in dbContext.AvailableCourses select avCr ).ToList(); exists = false; foreach (var avC in availCourses) { if (ac.CourseID == avC.CourseID) { if (avC.TrainerID == ac.TrainerID) { exists = true; break; } } } if (!exists) { dbContext.AvailableCourses.Add(ac); Console.WriteLine("Press key to Add Courses"); Console.ReadKey(); dbContext.SaveChanges(); } } } } }
//TODO 11: Match Trainer to Course public void CreateAvailableCourse() { Console.Clear(); int courseID; int trainerID; DateTime startDate; DateTime endDate; tv.ViewCourses(); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Select a Course by typing the ID: "); courseID = int.Parse(Console.ReadLine()); Console.ResetColor(); tv.ViewTrainers(); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Select a Trainer by typing the ID: "); Console.ResetColor(); trainerID = int.Parse(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Starting Date: "); Console.ResetColor(); startDate = DateTime.Parse(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Ending Date: "); Console.ResetColor(); endDate = DateTime.Parse(Console.ReadLine()); AvailableCourse ac = new AvailableCourse() { CourseID = courseID, TrainerID = trainerID, StartDate = startDate, EndDate = endDate }; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Commit changes? y/n"); Console.ResetColor(); string input = Console.ReadLine().ToLower(); if (input.Equals("y")) { try { dbContext.AvailableCourses.Add(ac); dbContext.SaveChanges(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Changes saved to database."); Console.ResetColor(); } catch (System.Data.Entity.Infrastructure.DbUpdateException) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Entity exists"); Console.ResetColor(); } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Changes not committed. Please retry."); Console.ResetColor(); } Console.ReadKey(); }