private static void SeedGroups(KidsManagementDbContext db) { var groups = new List <Group>(); var startDate = DateTime.Now; var level = db.Levels.FirstOrDefault(); var teachers = db.Teachers.Take(10).ToList(); for (int i = 0; i < 10; i++) { var teacher = teachers[i]; var group = new Group { Teacher = teacher, StartTime = new TimeSpan(17, 30, 0), Name = $"{teacher.FirstName} {"MON"} {new TimeSpan(17, 30, 0)}", AgeGroup = AgeGroup.Preschool, CurrentLessonNumber = 1, DayOfWeek = DayOfWeek.Monday, Duration = new TimeSpan(1, 45, 0), StartDate = startDate.Date, EndDate = startDate.AddDays(16 * 7), EndTime = new TimeSpan(19, 00, 0), Level = level, }; startDate.AddDays(1); groups.Add(group); } db.Groups.AddRange(groups); // db.SaveChanges(); }
private static void AddStudentsToGroup(KidsManagementDbContext db) { int amountOfStudents = 10; var students = db.Students .Where(s => s.GroupId == null) .Take(amountOfStudents) .ToArray(); int amountOfGroups = 2; var groups = db.Groups. Where(g => g.MaxStudents <= g.Students.Count) .Take(amountOfGroups) .ToArray(); for (int i = 0; i < 10; i++) { var student = students[i]; if (i < amountOfStudents / 2) { student.GroupId = groups[0].Id; } else { student.GroupId = groups[1].Id; } } // db.SaveChanges(); }
private static void SeedStudents(KidsManagementDbContext db) { var students = new List <Student>(); var startDate = DateTime.Now.AddYears(-6); var gender = Gender.Male; for (int i = 0; i < 100; i++) { int ageCounter = 5; var student = new Student { FirstName = $"Student {i}", MiddleName = "Ivanov", LastName = "Petrov", Age = ageCounter, BirthDate = startDate, Gender = gender, Grade = i > 50 ? GradeLevel.FirstGroup : GradeLevel.GradeOne, Status = StudentStatus.Initial, }; students.Add(student); ageCounter = ageCounter >= 10 ? 5 : ageCounter++; gender = gender == Gender.Male ? Gender.Female : Gender.Female; } db.Students.AddRange(students); // db.SaveChanges(); }
public static void Main() { var db = new KidsManagementDbContext(); //var gs = new GroupsService(db); //var result = gs.GetAll(); //Console.WriteLine(gs.GetAll().ToString()); //db.Database.Migrate(); SeedParentsTeachersAdmins(db); //SeedLevels(db); //SeedGroups(db); //SeedStudents(db); //AddStudentsToGroup(db); //UpdateGroupStatuses(db); //UpdateGroupAgeGroups(db); //UpdateStudentStatuses(db); //UpdateStudentGrades(db); //AssignStudentsToParents(db); //UpdateParentsStatuses(db); does nothing if the item below is not met //write a method to asign parents to children //testGettingPicString(); TOREMOVE //UpdateTeachersStatuses(db); //UpdateGroupActiveStatuses(db); }
private static void UpdateGroupStatuses(KidsManagementDbContext db) { var groups = db.Groups .Include(x => x.Students) .ToArray(); foreach (var grp in groups) { int count = grp.Students.Count(); int max = grp.MaxStudents; if (count == 0) { grp.Status = GroupStatus.Empty; } else if (count < max) { grp.Status = GroupStatus.NotFull; } else if (count == max) { grp.Status = GroupStatus.Full; } else if (count > max) { grp.Status = GroupStatus.OverLimit; } } //db.SaveChanges(); }
public TeachersService(KidsManagementDbContext db, ICloudinaryService cloudinaryService, UserManager <ApplicationUser> userManager) : base (db, userManager) { this.db = db; this.cloudinaryService = cloudinaryService; this.userManager = userManager; }
public IdentitySeeder(IServiceProvider serviceProvider, KidsManagementDbContext dbContext) { this.serviceProvider = serviceProvider; this.db = dbContext; this.userManager = this.serviceProvider.GetService<UserManager<ApplicationUser>>(); this.roleManager = this.serviceProvider.GetService<RoleManager<ApplicationRole>>(); }
private static void UpdateGroupAgeGroups(KidsManagementDbContext db) { var groups = db.Groups .ToArray(); foreach (var grp in groups) { grp.AgeGroup = AgeGroup.Preschool; } db.SaveChanges(); }
private static void UpdateStudentStatuses(KidsManagementDbContext db) { var students = db.Students .ToArray(); foreach (var student in students) { if (student.GroupId == null) { student.Status = StudentStatus.Waiting; } else { student.Status = StudentStatus.Active; } } db.SaveChanges(); }
private static void UpdateTeachersStatuses(KidsManagementDbContext db) { var teachers = db.Teachers .Include(t => t.Groups) .ToArray(); foreach (var teacher in teachers) { if (teacher.Groups.Count == 0) { teacher.Status = TeacherStatus.Initial; } else { teacher.Status = TeacherStatus.Active; } } db.SaveChanges(); }
private static void UpdateStudentGrades(KidsManagementDbContext db) { var students = db.Students .ToArray(); foreach (var student in students) { var age = student.Age; if (age >= 3 && age <= 19) { student.Grade = (GradeLevel)(age - 3); } else { student.Grade = GradeLevel.Other; } } db.SaveChanges(); }
private static void UpdateParentsStatuses(KidsManagementDbContext db) { var parents = db.Parents .Include(p => p.Children) .ThenInclude(sp => sp.Student) .ToArray(); foreach (var parent in parents) { //if (parent.Id == 72) // Console.WriteLine(); if (parent.Children.Count == 0) { parent.Status = ParentStatus.Initial; } else { if (parent.Children.Any(s => s.Student.Status == StudentStatus.Active)) { parent.Status = ParentStatus.Active; } else if (parent.Children.All(s => s.Student.Status == StudentStatus.Quit)) { parent.Status = ParentStatus.Quit; } else if (parent.Children.All(s => s.Student.Status == StudentStatus.Inactive)) { parent.Status = ParentStatus.Inactive; } else { parent.Status = ParentStatus.Initial; //parent has at least 1 child that can still become active } } } db.SaveChanges(); }
public StudentsService(KidsManagementDbContext db, ICloudinaryService cloudinaryService) { this.db = db; this.cloudinaryService = cloudinaryService; }
public ApplicationUserService(KidsManagementDbContext db, UserManager <ApplicationUser> userManager) { this.db = db; this.userManager = userManager; }
public GroupsService(KidsManagementDbContext db, IStudentsService studentsService) { this.db = db; this.studentsService = studentsService; }
public LevelsService(KidsManagementDbContext db) { this.db = db; }