Beispiel #1
0
        public IActionResult GetStudent()
        {
            var students = _context.Student
                           .Include(s => s.StudentCourse)
                           .ThenInclude(s => s.Course)
                           .AsNoTracking();

            //Transform to DTO
            var result = new DTO.StudentCourseResult()
            {
                Students = students.Select(s => new DTO.Student()
                {
                    ID        = s.ID,
                    FirstName = s.FirstName,
                    LastName  = s.LastName,
                    Courses   = s.StudentCourse.Select(c => new DTO.Course()
                    {
                        ID      = c.Course.ID,
                        Title   = c.Course.Title,
                        Credits = c.Course.Credits
                    }).ToList()
                }).ToList()
            };

            return(Ok(result));
        }
Beispiel #2
0
        public async Task <IActionResult> Search(string name)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var students = await _context.Student
                           .Include(s => s.StudentCourse)
                           .ThenInclude(s => s.Course)
                           .AsNoTracking()
                           .Where(s => EF.Functions.Like(s.FirstName, name + "%") || EF.Functions.Like(s.LastName, name + "%"))
                           .ToListAsync();

            if (students == null)
            {
                return(NotFound());
            }

            //Transform to DTO
            var result = new DTO.StudentCourseResult()
            {
                Students = students.Select(s => new DTO.Student()
                {
                    ID        = s.ID,
                    FirstName = s.FirstName,
                    LastName  = s.LastName,
                    Courses   = s.StudentCourse.Select(c => new DTO.Course()
                    {
                        ID      = c.Course.ID,
                        Title   = c.Course.Title,
                        Credits = c.Course.Credits
                    }).ToList()
                }).ToList()
            };

            return(Ok(result));
        }