public void RemoveSubjectForStudent(Student student, Subject subject)
        {
            _db.Students.Attach(student);
            _db.Subjects.Attach(subject);


            student.Subjects.Remove(subject);

            _db.SaveChanges();
        }
        public void AddSubjectForStudent(Student student, Subject subject)
        {
            _db.Students.Attach(student);
            _db.Subjects.Attach(subject);


            student.Subjects.Add(subject);

            _db.SaveChanges();
        }
        public void AddSubjectForProfessor(Professor professor, Subject subject)
        {
            _db.Professors.Attach(professor);
            _db.Subjects.Attach(subject);


            professor.Subjects.Add(subject);

            _db.SaveChanges();
        }
        public ActionResult AddSubjectToProfessor(string professorId, string subjectName)
        {
            var professor = ProfessorRepository.GetProfessorById(professorId);

            if (professor == null)
            {
                throw new InvalidOperationException($"Can\'t find professor with id. \"{professorId}\"");
            }

            var subject = new Subject {Id = Guid.NewGuid(), Name = subjectName};

            SubjectRepository.InsertSubject(subject);
            ProfessorRepository.AddSubjectForProfessor(professor, subject);


            return new HttpStatusCodeResult(HttpStatusCode.OK);
        }
        public void AddMark(Subject subject, Student student, int value)
        {
            var mark = new Mark
            {
                Id = Guid.NewGuid(),
                Student = student,
                Date = DateTime.Now,
                StudentId = student.Id,
                Value = value,
                SubjectId = subject.Id,
                Subject = subject
            };

            _db.Subjects.Attach(subject);
            _db.Students.Attach(student);
            _db.Marks.Add(mark);
            SaveChanges();
        }
        public void UpdateSubject(Subject subject)
        {
            _db.Subjects.Attach(subject);

            _db.SaveChanges();
        }
 public void InsertSubject(Subject subject)
 {
     _db.Subjects.Add(subject);
     _db.SaveChanges();
 }