Beispiel #1
0
        public async Task PutAsync(int id, SubjectDto subjectDto, CancellationToken cancellationToken = default)
        {
            var subjectToUpdate =
                await _dataContext.Subjects.SingleAsync(subject => subject.Id == id, cancellationToken);

            subjectToUpdate.Name        = subjectDto.Name;
            subjectToUpdate.Description = subjectDto.Description;

            await _dataContext.SaveChangesAsync(cancellationToken);
        }
Beispiel #2
0
        public async Task PostAsync(StudentDto studentDto, CancellationToken cancellationToken = default)
        {
            var student = new Student
            {
                LastName   = studentDto.LastName,
                FirstName  = studentDto.FirstName,
                MiddleName = studentDto.MiddleName,
                Grades     = (await Task.WhenAll(
                                  studentDto.GradesIds.Select(async gradeId =>
                                                              await _dataContext.Grades.SingleAsync(grade => grade.Id == gradeId, cancellationToken)
                                                              )
                                  )).ToList()
            };

            await _dataContext.Students.AddAsync(student, cancellationToken);

            await _dataContext.SaveChangesAsync(cancellationToken);
        }
        public async Task PostAsync(TeacherDto teacherDto, CancellationToken cancellationToken = default)
        {
            var teacher = new Teacher()
            {
                LastName   = teacherDto.LastName,
                FirstName  = teacherDto.FirstName,
                MiddleName = teacherDto.MiddleName,
                Phone      = teacherDto.Phone,
                Subjects   = (await Task.WhenAll(
                                  teacherDto.SubjectsIds.Select(async subjectId =>
                                                                await _dataContext.Subjects.SingleAsync(subject => subject.Id == subjectId, cancellationToken)
                                                                )
                                  )).ToList()
            };

            await _dataContext.Teachers.AddAsync(teacher, cancellationToken);

            await _dataContext.SaveChangesAsync(cancellationToken);
        }
Beispiel #4
0
        public async Task PostAsync(GradeDto gradeDto, CancellationToken cancellationToken = default)
        {
            var grade = new Grade
            {
                Value   = gradeDto.Value,
                Student = gradeDto.StudentId != null
                    ? await _dataContext.Students.SingleAsync(student => student.Id == gradeDto.StudentId,
                                                              cancellationToken)
                    : null,
                Subject = gradeDto.SubjectId != null
                    ? await _dataContext.Subjects.SingleAsync(subject => subject.Id == gradeDto.SubjectId,
                                                              cancellationToken)
                    : null,
                Teacher = gradeDto.TeacherId != null
                    ? await _dataContext.Teachers.SingleAsync(teacher => teacher.Id == gradeDto.TeacherId,
                                                              cancellationToken)
                    : null
            };

            await _dataContext.Grades.AddAsync(grade, cancellationToken);

            await _dataContext.SaveChangesAsync(cancellationToken);
        }