Пример #1
0
        public void EditSubject(string classId, ClassToSubjectInputModel inputModel)
        {
            var subject = Repositories.ClassToSubject.Query()
                          .Include(cs => cs.Subject)
                          .Include(cs => cs.Teacher)
                          .AsNoTracking()
                          .Where(cs => cs.ClassId == classId)
                          .FirstOrDefault(cs => cs.SubjectId == inputModel.SubjectId);

            if (subject is null)
            {
                throw new TargetException("Data not found");
            }

            var teacher = Repositories.TeacherToSubject.Query()
                          .Include(tts => tts.Teacher)
                          .Include(tts => tts.Subject)
                          .Where(tts => tts.SubjectId == inputModel.SubjectId)
                          .FirstOrDefault(tts => tts.TeacherId == inputModel.TeacherId);

            if (teacher is null)
            {
                throw new TargetException("Teacher not found");
            }

            var newData = Mapper.Map <ClassToSubjectInputModel, ClassToSubject>(inputModel);

            newData.Id        = subject.Id;
            newData.ClassId   = classId;
            newData.SubjectId = subject.SubjectId;
            newData.Teacher   = teacher.Teacher;

            Repositories.ClassToSubject.Update(newData);
        }
Пример #2
0
        public void AddSubject(string classId, ClassToSubjectInputModel inputModel)
        {
            var dbClass = this.Repositories.Classes.Query()
                          .Include(c => c.Subjects)
                          .FirstOrDefault(c => c.Id == classId);

            if (dbClass is null)
            {
                throw new TargetException("Class not found");
            }

            var subject = Repositories.Subjects.GetById(inputModel.SubjectId);

            if (subject is null)
            {
                throw new TargetException("Subject not found");
            }

            var teacher = Repositories.TeacherToSubject.Query()
                          .Include(tts => tts.Teacher)
                          .Include(tts => tts.Subject)
                          .Where(tts => tts.SubjectId == inputModel.SubjectId)
                          .FirstOrDefault(tts => tts.TeacherId == inputModel.TeacherId);

            if (teacher is null)
            {
                throw new TargetException("Teacher not found");
            }

            dbClass.Subjects.Add(new ClassToSubject
            {
                Id        = Guid.NewGuid().ToString(),
                Class     = dbClass,
                ClassId   = classId,
                Subject   = subject,
                SubjectId = subject.Id,
                Teacher   = teacher.Teacher,
                EndTime   = inputModel.EndTime,
                StartTime = inputModel.StartTime,
                WeekDay   = inputModel.WeekDay
            });

            Repositories.Classes.SaveChanges();
        }
Пример #3
0
 public void EditSubjectInClass([FromRoute] string classId, [FromBody] ClassToSubjectInputModel inputModel)
 {
     this.ClassService.EditSubject(classId, inputModel);
 }