コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }