////CHECHKING PART OF CODE//// //Get Teacher by SchoolClass and Subject public async Task <Teacher> GetTeacherBySubjectAndSchoolClass(int subjectId, int schoolClassId) { SchoolClassSubject result = await _context.SchoolClassSubjects.Where(x => x.SchoolClass.Id == schoolClassId && x.Subject.Id == subjectId).FirstOrDefaultAsync(); if (result != null) { var resultTeacher = await _context.TeacherSchoolClassSubjects.Include("Teacher").Where(x => x.SchoolClassSubjectId == result.Id).Select(x => x.Teacher).FirstOrDefaultAsync(); return(resultTeacher); } else { return(null); } }
protected override void Seed(ApplicationDbContext context) { var userManager = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); // Default roles var adminRole = new IdentityRole("admin"); var teacherRole = new IdentityRole("teacher"); var classteacherRole = new IdentityRole("classteacher"); roleManager.Create(adminRole); roleManager.Create(teacherRole); roleManager.Create(classteacherRole); // Admin var userAdmin = new ApplicationUser { Email = "*****@*****.**", UserName = "******" }; string passwordAdmin = "123456"; var result = userManager.Create(userAdmin, passwordAdmin); if (result.Succeeded) { userManager.AddToRole(userAdmin.Id, adminRole.Name); } // Teacher var userTeacher = new ApplicationUser { Email = "*****@*****.**", UserName = "******" }; string passwordTeacher = "123456"; result = userManager.Create(userTeacher, passwordTeacher); if (result.Succeeded) { userManager.AddToRole(userTeacher.Id, teacherRole.Name); } var teacher = new Teacher { FirstName = "Ucha", LastName = "Uchilkina", UserId = userTeacher.Id }; context.Teachers.Add(teacher); var sc5A = new SchoolClass { Name = "5A" }; context.SchoolClasses.Add(sc5A); // Students var st1 = new Student { FirstName = "Fedir", LastName = "Melnychenko", SchoolClass = sc5A }; context.Students.Add(st1); var st2 = new Student { FirstName = "Ostap", LastName = "Myronenko", SchoolClass = sc5A }; context.Students.Add(st2); // Subjects var math = new Subject { Name = "Mathematic" }; context.Subjects.Add(math); var geom = new Subject { Name = "Geometry" }; context.Subjects.Add(geom); // Relations var sc5Amath = new SchoolClassSubject { SchoolClass = sc5A, Subject = math }; var sc5Ageom = new SchoolClassSubject { SchoolClass = sc5A, Subject = geom }; context.SchoolClassSubjects.Add(sc5Amath); context.SchoolClassSubjects.Add(sc5Ageom); context.TeacherSchoolClassSubjects.Add(new TeacherSchoolClassSubject { Teacher = teacher, SchoolClassSubject = sc5Amath }); context.TeacherSchoolClassSubjects.Add(new TeacherSchoolClassSubject { Teacher = teacher, SchoolClassSubject = sc5Ageom }); context.SaveChanges(); // Marks var marks = new List <Mark> { new Mark { Date = DateTime.Today, StudentId = st1.Id, SubjectId = math.Id, Value = 10 }, new Mark { Date = DateTime.Today.AddDays(-1), StudentId = st1.Id, SubjectId = math.Id, Value = 11 }, new Mark { Date = DateTime.Today.AddDays(-5), StudentId = st1.Id, SubjectId = math.Id, Value = 3 }, new Mark { Date = DateTime.Today, StudentId = st2.Id, SubjectId = math.Id, Value = 9 } }; context.Marks.AddRange(marks); context.SaveChanges(); base.Seed(context); }