예제 #1
0
        public async Task <ActionResult> Put(Guid id, [FromBody] CourseCreateEditDto dto)
        {
            if (id != dto.Id)
            {
                return(BadRequest());
            }
            await _service.UpdateAsync(dto.ToEntity());

            return(Ok());
        }
예제 #2
0
        public static Course ToEntity(this CourseCreateEditDto dto)
        {
            var courseStudents = dto.Students?
                                 .Select(x => new CourseStudent()
            {
                StudentId = x.Id
            })
                                 .ToList();

            switch (dto.Type)
            {
            case CourseTypeDto.ClassRoom:
                return(new ClassRoomCourse()
                {
                    Id = dto.Id,
                    Name = dto.Name,
                    Code = dto.Code,
                    Students = courseStudents ?? new List <CourseStudent>(),
                    PrerequisiteCourseId = dto.PrerequisiteCourseId,
                    Address = dto.Address
                });

            case CourseTypeDto.Online:
                return(new OnlineCourse()
                {
                    Id = dto.Id,
                    Name = dto.Name,
                    Code = dto.Code,
                    Students = courseStudents ?? new List <CourseStudent>(),
                    PrerequisiteCourseId = dto.PrerequisiteCourseId,
                    VideoUrl = dto.VideoUrl
                });

            default:
                return(null);
            }
        }
예제 #3
0
        public async Task <ActionResult <CourseDto> > Post([FromBody] CourseCreateEditDto dto)
        {
            var created = await _service.CreateAsync(dto.ToEntity());

            return(Ok(created.ToDto()));
        }