public override void AddCoursesToDatabase() { Console.WriteLine("Adding Courses to Database!"); for (int i = 0; i < NumberOfCoursesToAdd; i++) { var courseToAdd = new Course { Name = RandomDataGenerator.GetRandomString(3, 50), Description = RandomDataGenerator.GetRandomString(3, 200) }; this.Database.Courses.Add(courseToAdd); Console.Write("."); if (i % 100 == 0) { this.Database.SaveChanges(); this.Database.Dispose(); this.Database = new StudentsSystemDbContext(); } } this.Database.SaveChanges(); Console.WriteLine(); }
public override void AddStudentsToDatabase() { Console.WriteLine("Adding Students to Database!"); var studentsNumbers = new List <int>(); var allCourses = this.Database.Courses .OrderBy(c => Guid.NewGuid()) .ToList(); while (studentsNumbers.Count < NumberOfStudentsToAdd) { int numberToAdd = RandomDataGenerator.GetRandomNumberInRange(0); if (!studentsNumbers.Contains(numberToAdd)) { studentsNumbers.Add(numberToAdd); } } for (int i = 0; i < NumberOfStudentsToAdd; i++) { var studentToAdd = new Student { Name = RandomDataGenerator.GetRandomString(1, 20), Number = studentsNumbers[i] }; var coursesForStudent = new HashSet <Course>(); var numberOfCoursesForStudent = RandomDataGenerator.GetRandomNumberInRange(1, 7); while (coursesForStudent.Count < numberOfCoursesForStudent) { var courseToAdd = allCourses[RandomDataGenerator.GetRandomNumberInRange(0, allCourses.Count - 1)]; coursesForStudent.Add(courseToAdd); } studentToAdd.Courses = coursesForStudent; this.Database.Students.Add(studentToAdd); if (i % 100 == 0) { Console.Write("."); this.Database.SaveChanges(); this.Database.Dispose(); this.Database = new StudentsSystemDbContext(); allCourses = this.Database.Courses .OrderBy(c => Guid.NewGuid()) .ToList(); } } this.Database.SaveChanges(); Console.WriteLine(); }
public override void AddHomeworkToDatabase() { Console.WriteLine("Adding Homework to Database!"); var studentsIds = this.Database.Students .OrderBy(s => Guid.NewGuid()) .Select(s => s.Id) .ToList(); var coursesIds = this.Database.Courses .OrderBy(c => Guid.NewGuid()) .Select(c => c.Id) .ToList(); var averageHomeworkPerCourse = NumberOfHomeworkToAdd / coursesIds.Count; var currentCourseIndex = 0; var currentCourseId = coursesIds[currentCourseIndex]; for (int i = 0; i < NumberOfHomeworkToAdd; i++) { if (i > 0 && i % averageHomeworkPerCourse == 0 && currentCourseIndex < coursesIds.Count - 1) { currentCourseIndex += 1; currentCourseId = coursesIds[currentCourseIndex]; } var studentId = studentsIds[i % studentsIds.Count]; var homeworkToAdd = new Homework { Content = RandomDataGenerator.GetRandomString(20, 300), TimeSent = RandomDataGenerator.GetRandomDate(), StudentId = studentId, CourseId = currentCourseId }; this.Database.Homework.Add(homeworkToAdd); if (i % 500 == 0) { Console.Write("."); } if (i % 100 == 0) { this.Database.SaveChanges(); this.Database.Dispose(); this.Database = new StudentsSystemDbContext(); } } this.Database.SaveChanges(); Console.WriteLine(); }
public override void AddMaterialsToDatabase() { Console.WriteLine("Adding materials to Database!"); var allCoursesIds = this.Database.Courses .OrderBy(c => Guid.NewGuid()) .Select(c => c.Id) .ToList(); var currentCourseIndex = 0; var currentCourseId = allCoursesIds[currentCourseIndex]; var averageMaterialsPerCourse = NumberOfMaterialsToAdd / allCoursesIds.Count; for (int i = 0; i < NumberOfMaterialsToAdd; i++) { if (i > 0 && i % averageMaterialsPerCourse == 0 && currentCourseIndex < allCoursesIds.Count) { currentCourseId = allCoursesIds[currentCourseIndex]; currentCourseIndex += 1; } var materialToAdd = new Material { Content = RandomDataGenerator.GetRandomString(20, 300), CourseId = currentCourseId }; this.Database.Materials.Add(materialToAdd); if (i % 100 == 0) { Console.Write("."); this.Database.SaveChanges(); this.Database.Dispose(); this.Database = new StudentsSystemDbContext(); } } this.Database.SaveChanges(); Console.WriteLine(); }