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); }
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); }
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); }