public async Task <ActionResult <Student> > UpdateStudentAsync(Guid id, Student student) { if (id != student.Id) { return(BadRequest()); } var spec = new StudentWithCoursesSpecification(id); var data = await _service.GetModelWithSpec(spec); if (data == null) { return(NotFound()); } try { data = student; await _service.UpdateAsync(data); } catch (DbUpdateConcurrencyException) { var isExist = await _service.IsExists(data.Id); if (!isExist) { return(NotFound()); } } return(Ok(data)); }
public async Task <ActionResult <IReadOnlyList <Student> > > GetStudentByCourseAsync(Guid courseId) { var spec = new StudentWithCoursesSpecification(); var students = await _service.ListAsync(spec); var data = students.Where(s => s.Courses.Any(o => o.Id == courseId)).ToList(); return(Ok(data)); }
public async Task <ActionResult <Student> > GetStudentIdIdAsync(Guid id) { var spec = new StudentWithCoursesSpecification(id); var data = await _service.GetModelWithSpec(spec); if (data == null) { return(NotFound()); } return(Ok(data)); }