예제 #1
0
        public IEnumerable <StudentWithParentDTO> GetAllByTeacherSchoolSubjectIdAndTeacherId(int id, string teacherId)
        {
            TeacherSchoolSubject ts = db.TeacherSchoolSubjectSRepository.GetByID(id);
            var teacher             = db.TeachersRepository.GetByID(teacherId);

            if (teacher == null)
            {
                logger.Warn("No teacher with id {0} found.", teacherId);
                throw new KeyNotFoundException("Teacher with that id not found.");
            }

            if (ts == null)
            {
                logger.Error("That teacher + school subject combination is nonexistant, id : {0}. Throwing ArgumentException.", id);
                throw new ArgumentException("TeacherSchoolSubjectId is not correct.", new ArgumentException());
            }

            var students = db.StudentsRepository
                           .Get(s => s.SchoolClass.SchoolClassTeacherSchoolSubjects.Any(x => x.TeacherSchoolSubject.Id == id &&
                                                                                        x.TeacherSchoolSubject.Teacher.Id == teacherId));

            logger.Info("Getting students taught by {0} {1}, subject: {2}. TeacherSchoolSubjectId : {3}",
                        ts.Teacher.FirstName, ts.Teacher.LastName, ts.SchoolSubject.Name, id);

            return(students
                   .Select(s => UserToUserDTOConverters.StudentToStudentWithParentDTO(s)));
        }
예제 #2
0
        public TeacherSchoolSubjectDTO CreateTeacherSchoolSubject(TeacherSchoolSubjectCreateAndEditDTO dto)
        {
            Teacher       teacher = db.TeachersRepository.GetByID(dto.TeacherId);
            SchoolSubject subject = db.SchoolSubjectsRepository.GetByID(dto.SchoolSubjectId);

            if (teacher == null)
            {
                logger.Warn("No such teacher found. id {0}", dto.TeacherId);
                throw new KeyNotFoundException("No teacher with that id");
            }

            if (subject == null)
            {
                logger.Warn("No such subject found. id {0}", dto.SchoolSubjectId);
                throw new KeyNotFoundException("No subject with that id");
            }

            TeacherSchoolSubject tss = TeacherSchoolSubjectToTeacherSchoolSubjectDTOConverters.TeacherSchoolSubjectCreateAndEditDTOToTeacherSchoolSubject(teacher, subject);

            db.TeacherSchoolSubjectSRepository.Insert(tss);
            db.Save();

            logger.Info("Creating new teacherschoolsubject. teacherId: {0}, subjectId: {1}", dto.TeacherId, dto.SchoolSubjectId);
            return(TeacherSchoolSubjectToTeacherSchoolSubjectDTOConverters.TeacherSchoolSubjectToTeacherSchoolSubjectDTO(tss));
        }
예제 #3
0
        public static TeacherSchoolSubject TeacherSchoolSubjectCreateAndEditDTOToTeacherSchoolSubject(Teacher teacher, SchoolSubject subject)
        {
            TeacherSchoolSubject retVal = new TeacherSchoolSubject();

            retVal.Teacher       = teacher;
            retVal.SchoolSubject = subject;

            logger.Info("Converting TeacherSchoolSubjectCreateAndEditDTO to TeacherSchoolSubject.");
            return(retVal);
        }
예제 #4
0
        public SchoolClassTeacherSchoolSubjectDTO CreateSchoolClassTeacherSchoolSubject(SchoolClassTeacherSchoolSubjectCreateAndEditDTO dto)
        {
            SchoolClass          sc  = db.SchoolClassesRepository.GetByID(dto.SchoolClassId);
            TeacherSchoolSubject tss = db.TeacherSchoolSubjectSRepository.GetByID(dto.TeacherSchoolSubjectId);

            SchoolClassTeacherSchoolSubject sctss = SchoolClassTeacherSchoolSubjectToSchoolClassTeacherSchoolSubjectDTOConverters
                                                    .SchoolClassTeacherSchoolSubjectCreateAndEditDTOToSchoolClassTeacherSchoolSubject(sc, tss);

            db.SchoolClassTeacherSchoolSubjectRepository.Insert(sctss);
            db.Save();

            return(SchoolClassTeacherSchoolSubjectToSchoolClassTeacherSchoolSubjectDTOConverters
                   .SchoolClassTeacherSchoolSubjectTo_SchoolClassTeacherSchoolSubjectDTO(sctss));
        }
예제 #5
0
        public void DeleteTeacherSchoolSubject(int id)
        {
            TeacherSchoolSubject ts = db.TeacherSchoolSubjectSRepository.GetByID(id);

            foreach (var item in ts.SchoolClassTeacherSchoolSubjects)
            {
                logger.Info("Removing dependencies");
                item.TeacherSchoolSubject = null;
            }

            db.TeacherSchoolSubjectSRepository.Delete(ts);
            db.Save();
            logger.Info("Successfully deleted teacherschoolsubject.");
        }
예제 #6
0
        public TeacherSchoolSubjectDTO EditTeacherSchoolSubject(int id, TeacherSchoolSubjectCreateAndEditDTO dto)
        {
            TeacherSchoolSubject ts = db.TeacherSchoolSubjectSRepository.GetByID(id);

            if (ts != null)
            {
                var schoolSubject = db.SchoolSubjectsRepository.GetByID(dto.SchoolSubjectId);
                var teacher       = db.TeachersRepository.GetByID(dto.TeacherId);

                ts.SchoolSubject = schoolSubject;
                ts.Teacher       = teacher;

                db.TeacherSchoolSubjectSRepository.Update(ts);
                db.Save();
                logger.Info("Eddited teacherschoolsubject with id {0}", id);
            }

            return(TeacherSchoolSubjectToTeacherSchoolSubjectDTOConverters.TeacherSchoolSubjectToTeacherSchoolSubjectDTO(ts));
        }
예제 #7
0
        public IEnumerable <StudentWithParentDTO> GetAllByTeacherSchoolSubjectId(int id)
        {
            //TODO 11.10 **DONE** exception if teacherschoolsubject nonexistant

            TeacherSchoolSubject ts = db.TeacherSchoolSubjectSRepository.GetByID(id);

            if (ts == null)
            {
                logger.Error("That teacher + school subject combination is nonexistant, id : {0}. Throwing ArgumentException.", id);
                throw new ArgumentException("TeacherSchoolSubjectId is not correct.", new ArgumentException());
            }
            var students = db.StudentsRepository
                           .Get(s => s.SchoolClass.SchoolClassTeacherSchoolSubjects.Any(x => x.TeacherSchoolSubject.Id == id));

            logger.Info("Getting students taught by {0} {1}, subject: {2}. TeacherSchoolSubjectId : {3}",
                        ts.Teacher.FirstName, ts.Teacher.LastName, ts.SchoolSubject.Name, id);

            return(students
                   .Select(s => UserToUserDTOConverters.StudentToStudentWithParentDTO(s)));
        }
예제 #8
0
        public static TeacherSchoolSubjectDTO TeacherSchoolSubjectToTeacherSchoolSubjectDTO(TeacherSchoolSubject tss)
        {
            TeacherSchoolSubjectDTO retVal = new TeacherSchoolSubjectDTO();

            retVal.Id               = tss.Id;
            retVal.SubjectId        = tss.SchoolSubject.Id;
            retVal.SubjectName      = tss.SchoolSubject.Name;
            retVal.TeacherId        = tss.Teacher.Id;
            retVal.TeacherFirstName = tss.Teacher.FirstName;
            retVal.TeacherLastName  = tss.Teacher.LastName;

            logger.Info("Converting TeacherSchoolSubject to TeacherSchoolSubjectDTO.");
            return(retVal);
        }
예제 #9
0
        public GradeDTO EditGrade(int id, string teacherId, GradeCreateAndEditDTO dto)
        {
            Grade grade = db.GradesRepository.GetByID(id);

            Teacher       teacher = db.TeachersRepository.GetByID(teacherId);
            Student       student = db.StudentsRepository.GetByID(dto.StudentId);
            SchoolSubject subject = db.SchoolSubjectsRepository.GetByID(dto.SchoolSubjectId);
            SchoolClass   sc      = db.SchoolClassesRepository.GetByID(student.SchoolClass.Id);

            if (teacher == null)
            {
                logger.Warn("Teacher with id {0} not found.", teacherId);
                throw new KeyNotFoundException("teacherId doesn't exist.");
            }

            if (student == null)
            {
                logger.Warn("Student with id {0} not found.", dto.StudentId);
                throw new KeyNotFoundException("dto.StudentId doesn't exist.");
            }

            if (subject == null)
            {
                logger.Warn("Subject with id {0} not found.", dto.SchoolSubjectId);
                throw new KeyNotFoundException("dto.SchoolSubjectId doesn't exist.");
            }

            if (!teacher.TeacherSchoolSubjects.Select(x => x.SchoolSubject).Any(y => y.Id == subject.Id))
            {
                logger.Warn("Teacher {0} {1} (id: {2}) does not teach subject {3} (id: {4}). Cannot grade the student.",
                            teacher.FirstName, teacher.LastName, teacher.Id, subject.Name, subject.Id);
                throw new Exception("Teacher doesn't teach the given subject.");
                //TODO 99: fix exceptions!
            }

            if (!teacher.TeacherSchoolSubjects.Any(x => x.SchoolClassTeacherSchoolSubjects.Any(y => y.SchoolClass.Id == sc.Id)))
            {
                logger.Warn("Teacher {0} {1} (id: {2}) doesn't teach the subject {3} (id: {4}) to student {5} {6} (id: {7}). Cannot grade the student.",
                            teacher.FirstName, teacher.LastName, teacher.Id, subject.Name, subject.Id, student.FirstName, student.LastName, student.Id);
                throw new Exception("Teacher doesn't teach the subject to the given student");
            }

            TeacherSchoolSubject tss = db.TeacherSchoolSubjectSRepository.Get()
                                       .Where(x => x.SchoolSubject.Id == subject.Id && x.Teacher.Id == teacher.Id).FirstOrDefault();

            if (tss == null)
            {
                logger.Warn("TeacherSchoolSubject combination with teacherId {0} and subject id {1} not found.", teacher.Id, subject.Id);
                throw new KeyNotFoundException("Given TeacherSchoolSubject combination doesn't exist. Please make one.");
            }

            SchoolClassTeacherSchoolSubject sctss = db.SchoolClassTeacherSchoolSubjectRepository.Get()
                                                    .Where(x => x.TeacherSchoolSubject.Id == tss.Id && x.SchoolClass.Id == sc.Id).FirstOrDefault();

            if (sctss == null)
            {
                logger.Warn("SchoolClassTeacherSchoolSubject combination with schoolClassId {0} and teacherSchoolSubjectId {1} not found.", sc.Id, tss.Id);
                throw new KeyNotFoundException("Given SchoolClassTeacherSchoolSubject combination doesn't exist. Please make one.");
            }

            grade.Value         = dto.Value;
            grade.DateOfGrading = DateTime.Now;
            grade.Student       = student;
            grade.SchoolClassTeacherSchoolSubject = sctss;

            logger.Info("Updating grade");
            db.GradesRepository.Update(grade);
            db.Save();

            return(GradeToGradeDTOConverters.GradeToGradeDTO(grade));
        }
예제 #10
0
        public GradeDTO CreateGrade(string teacherId, GradeCreateAndEditDTO dto)
        {
            Teacher       teacher = db.TeachersRepository.GetByID(teacherId);
            Student       student = db.StudentsRepository.GetByID(dto.StudentId);
            SchoolSubject subject = db.SchoolSubjectsRepository.GetByID(dto.SchoolSubjectId);
            SchoolClass   sc      = db.SchoolClassesRepository.GetByID(student.SchoolClass.Id);

            if (teacher == null)
            {
                logger.Warn("Teacher with id {0} not found.", teacherId);
                throw new KeyNotFoundException("teacherId doesn't exist.");
            }

            if (student == null)
            {
                logger.Warn("Student with id {0} not found.", dto.StudentId);
                throw new KeyNotFoundException("dto.StudentId doesn't exist.");
            }

            if (subject == null)
            {
                logger.Warn("Subject with id {0} not found.", dto.SchoolSubjectId);
                throw new KeyNotFoundException("dto.SchoolSubjectId doesn't exist.");
            }

            if (!teacher.TeacherSchoolSubjects.Select(x => x.SchoolSubject).Any(y => y.Id == subject.Id))
            {
                logger.Warn("Teacher {0} {1} (id: {2}) does not teach subject {3} (id: {4}). Cannot grade the student.",
                            teacher.FirstName, teacher.LastName, teacher.Id, subject.Name, subject.Id);
                throw new Exception("Teacher doesn't teach the given subject.");
                //TODO 99: fix exceptions!
            }

            if (!teacher.TeacherSchoolSubjects.Any(x => x.SchoolClassTeacherSchoolSubjects.Any(y => y.SchoolClass.Id == sc.Id)))
            {
                logger.Warn("Teacher {0} {1} (id: {2}) doesn't teach the subject {3} (id: {4}) to student {5} {6} (id: {7}). Cannot grade the student.",
                            teacher.FirstName, teacher.LastName, teacher.Id, subject.Name, subject.Id, student.FirstName, student.LastName, student.Id);
                throw new Exception("Teacher doesn't teach the subject to the given student");
            }

            TeacherSchoolSubject tss = db.TeacherSchoolSubjectSRepository.Get()
                                       .Where(x => x.SchoolSubject.Id == subject.Id && x.Teacher.Id == teacher.Id).FirstOrDefault();

            if (tss == null)
            {
                logger.Warn("TeacherSchoolSubject combination with teacherId {0} and subject id {1} not found.", teacher.Id, subject.Id);
                throw new KeyNotFoundException("Given TeacherSchoolSubject combination doesn't exist. Please make one.");
            }

            SchoolClassTeacherSchoolSubject sctss = db.SchoolClassTeacherSchoolSubjectRepository.Get()
                                                    .Where(x => x.TeacherSchoolSubject.Id == tss.Id && x.SchoolClass.Id == sc.Id).FirstOrDefault();

            if (sctss == null)
            {
                logger.Warn("SchoolClassTeacherSchoolSubject combination with schoolClassId {0} and teacherSchoolSubjectId {1} not found.", sc.Id, tss.Id);
                throw new KeyNotFoundException("Given SchoolClassTeacherSchoolSubject combination doesn't exist. Please make one.");
            }

            Grade grade = new Grade()
            {
                Value         = dto.Value,
                DateOfGrading = DateTime.Now,
                SchoolClassTeacherSchoolSubject = sctss,
                Student = student
            };

            logger.Info("Creating grade. teacherId: {0}, studentId: {1}, subjectId: {2}", teacher.Id, student.Id, subject.Id);

            db.GradesRepository.Insert(grade);
            db.Save();

            string toEmail     = student.Parent.Email;
            string parentName  = student.Parent.FirstName + " " + student.Parent.LastName;
            string studentName = student.FirstName + " " + student.LastName;
            string date        = grade.DateOfGrading.Day + "." + grade.DateOfGrading.Month + "." + grade.DateOfGrading.Year;
            string subjectName = subject.Name;
            int    gradeValue  = grade.Value;

            EmailSenders.EmailGradingEventToParent(toEmail, parentName, studentName, date, subjectName, gradeValue);

            return(GradeToGradeDTOConverters.GradeToGradeDTO(grade));
        }
예제 #11
0
        SchoolClassTeacherSchoolSubjectCreateAndEditDTOToSchoolClassTeacherSchoolSubject(SchoolClass sc, TeacherSchoolSubject tss)
        {
            SchoolClassTeacherSchoolSubject retVal = new SchoolClassTeacherSchoolSubject()
            {
                SchoolClass          = sc,
                TeacherSchoolSubject = tss
            };

            logger.Info("Converting SchoolClassTeacherSchoolSubjectCreateAndEditDTO to SchoolClassTeacherSchoolSubject.");
            return(retVal);
        }
        protected override void Seed(DataAccessContext context)
        {
            #region AddingRoles

            using (var store = new RoleStore <IdentityRole>(context))
            {
                using (var manager = new RoleManager <IdentityRole>(store))
                {
                    manager.Create(new IdentityRole("admin"));
                    manager.Create(new IdentityRole("teacher"));
                    manager.Create(new IdentityRole("parent"));
                    manager.Create(new IdentityRole("student"));
                }
            }

            #endregion

            context.SaveChanges();

            #region AddingSchoolSubjects

            SchoolSubject geography5 = new SchoolSubject()
            {
                Id            = 1,
                Name          = "Geografija 5",
                WeeklyClasses = 3
            };
            context.SchoolSubjects.Add(geography5);

            SchoolSubject geography6 = new SchoolSubject()
            {
                Id            = 2,
                Name          = "Geografija 6",
                WeeklyClasses = 4
            };
            context.SchoolSubjects.Add(geography6);

            SchoolSubject biology5 = new SchoolSubject()
            {
                Id            = 3,
                Name          = "Biologija 5",
                WeeklyClasses = 2,
            };
            context.SchoolSubjects.Add(biology5);

            SchoolSubject biology6 = new SchoolSubject()
            {
                Id            = 4,
                Name          = "Biologija 6",
                WeeklyClasses = 3
            };
            context.SchoolSubjects.Add(biology6);

            SchoolSubject serbian5 = new SchoolSubject()
            {
                Id            = 5,
                Name          = "Srpski 5",
                WeeklyClasses = 4
            };
            context.SchoolSubjects.Add(serbian5);

            SchoolSubject serbian6 = new SchoolSubject()
            {
                Id            = 6,
                Name          = "Srpski 6",
                WeeklyClasses = 4
            };
            context.SchoolSubjects.Add(serbian6);

            #endregion

            context.SaveChanges();

            #region AddingSchoolClasses

            SchoolClass petiA = new SchoolClass()
            {
                Id          = 1,
                SchoolGrade = 5,
                Name        = "A"
            };
            context.SchoolClasses.Add(petiA);

            SchoolClass petiB = new SchoolClass()
            {
                Id          = 2,
                SchoolGrade = 5,
                Name        = "B"
            };
            context.SchoolClasses.Add(petiB);

            SchoolClass sestiA = new SchoolClass()
            {
                Id          = 3,
                SchoolGrade = 6,
                Name        = "A"
            };
            context.SchoolClasses.Add(sestiA);

            SchoolClass sestiB = new SchoolClass()
            {
                Id          = 4,
                SchoolGrade = 6,
                Name        = "B"
            };
            context.SchoolClasses.Add(sestiB);

            #endregion

            context.SaveChanges();

            using (var userStore = new UserStore <ApplicationUser>(context))
            {
                using (var userManager = new UserManager <ApplicationUser>(userStore))
                {
                    #region AddingAdmins

                    Admin admin1 = new Admin()
                    {
                        FirstName = "Chuck",
                        LastName  = "Norris",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(admin1, "qwerty");
                    userManager.AddToRole(admin1.Id, "admin");

                    #endregion

                    #region AddingTeachers

                    Teacher peca = new Teacher()
                    {
                        FirstName = "Petar",
                        LastName  = "Stojakovic",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(peca, "pecaa1");
                    userManager.AddToRole(peca.Id, "teacher");

                    Teacher eugen = new Teacher()
                    {
                        FirstName = "Eugen",
                        LastName  = "Plancak",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(eugen, "eugen1");
                    userManager.AddToRole(eugen.Id, "teacher");

                    Teacher kolarov = new Teacher()
                    {
                        FirstName = "Milos",
                        LastName  = "Kolarov",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(kolarov, "kolarov1");
                    userManager.AddToRole(kolarov.Id, "teacher");

                    Teacher obrad = new Teacher()
                    {
                        FirstName = "Obrad",
                        LastName  = "Stojkovic",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(obrad, "obrad1");
                    userManager.AddToRole(obrad.Id, "teacher");

                    #endregion

                    #region AddingParents

                    Parent parent1 = new Parent()
                    {
                        FirstName = "Gordana",
                        LastName  = "Alasov",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent1, "gordana1");
                    userManager.AddToRole(parent1.Id, "parent");

                    Parent parent2 = new Parent()
                    {
                        FirstName = "Vidosava",
                        LastName  = "Maodus",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent2, "vidaa1");
                    userManager.AddToRole(parent2.Id, "parent");

                    Parent parent3 = new Parent()
                    {
                        FirstName = "Djordje",
                        LastName  = "Atanackovic",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent3, "djole1");
                    userManager.AddToRole(parent3.Id, "parent");

                    Parent parent4 = new Parent()
                    {
                        FirstName = "Snezana",
                        LastName  = "Stojsic",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent4, "sneza1");
                    userManager.AddToRole(parent4.Id, "parent");

                    Parent parent5 = new Parent()
                    {
                        FirstName = "Tatjana",
                        LastName  = "Lekic",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent5, "tanja1");
                    userManager.AddToRole(parent5.Id, "parent");

                    Parent parent6 = new Parent()
                    {
                        FirstName = "Macone",
                        LastName  = "Nedeljkov",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent6, "macaa1");
                    userManager.AddToRole(parent6.Id, "parent");

                    Parent parent7 = new Parent()
                    {
                        FirstName = "Mile",
                        LastName  = "Etinski",
                        UserName  = "******",
                        Email     = "*****@*****.**",
                    };
                    userManager.Create(parent7, "milee1");
                    userManager.AddToRole(parent7.Id, "parent");

                    #endregion

                    #region AddingStudents

                    Student goran = new Student()
                    {
                        FirstName   = "Goran",
                        LastName    = "Alasov",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent1,
                        SchoolClass = sestiA,
                    };

                    userManager.Create(goran, "alasov1");
                    userManager.AddToRole(goran.Id, "student");

                    Student mao = new Student()
                    {
                        FirstName   = "Milan",
                        LastName    = "Maodus",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent2,
                        SchoolClass = sestiA
                    };
                    userManager.Create(mao, "maodus1");
                    userManager.AddToRole(mao.Id, "student");

                    Student roki = new Student()
                    {
                        FirstName   = "Nenad",
                        LastName    = "Maodus",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent2,
                        SchoolClass = petiB
                    };
                    userManager.Create(roki, "rokii1");
                    userManager.AddToRole(roki.Id, "student");

                    Student facan = new Student()
                    {
                        FirstName   = "Bojan",
                        LastName    = "Atanackovic",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent3,
                        SchoolClass = sestiA
                    };
                    userManager.Create(facan, "facan1");
                    userManager.AddToRole(facan.Id, "student");

                    Student jebac = new Student()
                    {
                        FirstName   = "Aleksandar",
                        LastName    = "Atanackovic",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent3,
                        SchoolClass = petiA
                    };
                    userManager.Create(jebac, "jebac1");
                    userManager.AddToRole(jebac.Id, "student");

                    Student doca = new Student()
                    {
                        FirstName   = "Vladimir",
                        LastName    = "Stojsic",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent4,
                        SchoolClass = sestiB
                    };
                    userManager.Create(doca, "doktor1");
                    userManager.AddToRole(doca.Id, "student");

                    Student bogdan = new Student()
                    {
                        FirstName   = "Bogdan",
                        LastName    = "Stojsic",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent4,
                        SchoolClass = petiA
                    };
                    userManager.Create(bogdan, "bogdan1");
                    userManager.AddToRole(bogdan.Id, "student");

                    Student sveta = new Student()
                    {
                        FirstName   = "Svetozar",
                        LastName    = "Lekic",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent5,
                        SchoolClass = sestiB
                    };
                    userManager.Create(sveta, "sveta1");
                    userManager.AddToRole(sveta.Id, "student");

                    Student seba = new Student()
                    {
                        FirstName   = "Nebojsa",
                        LastName    = "Nedeljkov",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent6,
                        SchoolClass = sestiB
                    };
                    userManager.Create(seba, "nebojsa1");
                    userManager.AddToRole(seba.Id, "student");

                    Student tanatelo = new Student()
                    {
                        FirstName   = "Marko",
                        LastName    = "Nedeljkov",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent6,
                        SchoolClass = petiB
                    };
                    userManager.Create(tanatelo, "marko1");
                    userManager.AddToRole(tanatelo.Id, "student");

                    Student pista = new Student()
                    {
                        FirstName   = "Dragan",
                        LastName    = "Etinski",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        Parent      = parent7,
                        SchoolClass = petiB
                    };
                    userManager.Create(pista, "pista1");
                    userManager.AddToRole(pista.Id, "student");

                    #endregion

                    context.SaveChanges();

                    #region AddingTeacherSchoolSubjects

                    TeacherSchoolSubject pecaGeo5 = new TeacherSchoolSubject()
                    {
                        Id            = 1,
                        Teacher       = peca,
                        SchoolSubject = geography5
                    };
                    context.TeacherSchoolSubjects.Add(pecaGeo5);

                    TeacherSchoolSubject pecaGeo6 = new TeacherSchoolSubject()
                    {
                        Id            = 2,
                        Teacher       = peca,
                        SchoolSubject = geography6
                    };
                    context.TeacherSchoolSubjects.Add(pecaGeo6);

                    TeacherSchoolSubject eugenBio5 = new TeacherSchoolSubject()
                    {
                        Id            = 3,
                        Teacher       = eugen,
                        SchoolSubject = biology5
                    };
                    context.TeacherSchoolSubjects.Add(eugenBio5);

                    TeacherSchoolSubject eugenBio6 = new TeacherSchoolSubject()
                    {
                        Id            = 4,
                        Teacher       = eugen,
                        SchoolSubject = biology6
                    };
                    context.TeacherSchoolSubjects.Add(eugenBio6);

                    TeacherSchoolSubject kolarovSrp5 = new TeacherSchoolSubject()
                    {
                        Id            = 5,
                        Teacher       = kolarov,
                        SchoolSubject = serbian5
                    };
                    context.TeacherSchoolSubjects.Add(kolarovSrp5);

                    TeacherSchoolSubject obradSrp6 = new TeacherSchoolSubject()
                    {
                        Id            = 6,
                        Teacher       = obrad,
                        SchoolSubject = serbian6
                    };
                    context.TeacherSchoolSubjects.Add(obradSrp6);

                    #endregion

                    context.SaveChanges();

                    #region AddingSchoolClassTeacherSchoolSubjects

                    SchoolClassTeacherSchoolSubject pecaGeo5PetiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = pecaGeo5,
                        SchoolClass          = petiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(pecaGeo5PetiA);

                    SchoolClassTeacherSchoolSubject pecaGeo5PetiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = pecaGeo5,
                        SchoolClass          = petiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(pecaGeo5PetiB);

                    SchoolClassTeacherSchoolSubject pecaGeo6SestiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = pecaGeo6,
                        SchoolClass          = sestiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(pecaGeo6SestiA);

                    SchoolClassTeacherSchoolSubject pecaGeo6SestiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = pecaGeo6,
                        SchoolClass          = sestiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(pecaGeo6SestiB);

                    SchoolClassTeacherSchoolSubject eugenBio5PetiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = eugenBio5,
                        SchoolClass          = petiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(eugenBio5PetiA);

                    SchoolClassTeacherSchoolSubject eugenBio5PetiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = eugenBio5,
                        SchoolClass          = petiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(eugenBio5PetiB);

                    SchoolClassTeacherSchoolSubject eugenBio6SestiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = eugenBio6,
                        SchoolClass          = sestiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(eugenBio6SestiA);

                    SchoolClassTeacherSchoolSubject eugenBio6SestiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = eugenBio6,
                        SchoolClass          = sestiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(eugenBio6SestiB);

                    SchoolClassTeacherSchoolSubject kolarovSrp5PetiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = kolarovSrp5,
                        SchoolClass          = petiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(kolarovSrp5PetiA);

                    SchoolClassTeacherSchoolSubject kolarovSrp5PetiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = kolarovSrp5,
                        SchoolClass          = petiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(kolarovSrp5PetiB);

                    SchoolClassTeacherSchoolSubject obradSrp6SestiA = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = obradSrp6,
                        SchoolClass          = sestiA
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(obradSrp6SestiA);

                    SchoolClassTeacherSchoolSubject obradSrp6SestiB = new SchoolClassTeacherSchoolSubject()
                    {
                        TeacherSchoolSubject = obradSrp6,
                        SchoolClass          = sestiB
                    };
                    context.SchoolClassTeacherSchoolSubjects.Add(obradSrp6SestiB);

                    #endregion

                    Grade g1 = new Grade()
                    {
                        Id            = 1,
                        Value         = 4,
                        DateOfGrading = new DateTime(2000, 12, 21),
                        Student       = goran,
                        SchoolClassTeacherSchoolSubject = pecaGeo6SestiA
                    };
                    context.Grades.Add(g1);

                    Grade g2 = new Grade()
                    {
                        Id            = 2,
                        Value         = 3,
                        DateOfGrading = new DateTime(1998, 5, 8),
                        Student       = mao,
                        SchoolClassTeacherSchoolSubject = obradSrp6SestiA
                    };
                    context.Grades.Add(g2);

                    Grade g3 = new Grade()
                    {
                        Id            = 2,
                        Value         = 3,
                        DateOfGrading = new DateTime(1997, 1, 27),
                        Student       = mao,
                        SchoolClassTeacherSchoolSubject = eugenBio6SestiA
                    };
                    context.Grades.Add(g3);

                    Grade g4 = new Grade()
                    {
                        Id            = 2,
                        Value         = 1,
                        DateOfGrading = new DateTime(1997, 9, 11),
                        Student       = roki,
                        SchoolClassTeacherSchoolSubject = eugenBio5PetiB
                    };
                    context.Grades.Add(g4);

                    context.SaveChanges();
                }
            }



            //context.Roles.Add(new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "admins" });
            //context.Roles.Add(new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "teachers" });
            //context.Roles.Add(new IdentityRole() { Id = Guid.NewGuid().ToString(), Name= "parents" });
            //context.Roles.Add(new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "students" });

            //context.SaveChanges();

            //List<ApplicationUser> allUsers = new List<ApplicationUser>();

            //allUsers.Add(admin1);
            //allUsers.Add(teacher1);

            //context.Users.Add(admin1);
            //context.Users.Add(teacher1);

            //context.SaveChanges();
            //SetAllRoles(allUsers, context);


            context.SaveChanges();

            //Admin admin1 = new Admin()
            //{
            //    FirstName = "Goran",
            //    LastName = "Alasov",
            //    UserName = "******",
            //    Email = "*****@*****.**"
            //};

            //Admin admin2 = new Admin()
            //{
            //    FirstName = "Goran1",
            //    LastName = "Alasov1",
            //    UserName = "******",
            //    Email = "[email protected]"
            //};

            //admins.Add(admin1);
            //admins.Add(admin2);

            //context.SaveChanges();
        }