public async Task <ActionResult <AcademyDto> > UpdateAcademy(Guid academyId, AcademyUpdateDto academyUpdateDto)
        {
            if (!await _academyRepository.AcademyExistAsync(academyId))
            {
                return(NotFound());
            }

            var academy = await _academyRepository.GetAcademyAsync(academyId);

            if (academy == null)
            {
                var academyToAdd = _mapper.Map <Academy>(academyUpdateDto);
                academyToAdd.AcademyId = academyId;

                _academyRepository.AddAcademy(academyToAdd);

                await _academyRepository.SaveAsync();

                var academyDtoNew = _mapper.Map <AcademyDto>(academyToAdd);
                return(CreatedAtRoute(nameof(GetAcademy), new { academyId = academy.AcademyId }, academyDtoNew));
            }

            _mapper.Map(academyUpdateDto, academy);

            _academyRepository.UpdateAcademy(academy);

            await _academyRepository.SaveAsync();

            var academyDto = _mapper.Map <AcademyDto>(academy);

            return(CreatedAtRoute(nameof(GetAcademy), new { academyId = academy.AcademyId }, academyDto));
        }
Esempio n. 2
0
        public async Task <ActionResult <ProfessionDto> > CreateProfession(Guid academyId, [FromBody] ProfessionAddDto professionAddDto)
        {
            if (!await _academyRepository.AcademyExistAsync(academyId))
            {
                return(NotFound());
            }
            //ApiController在遇到professionAddDto为空时可以自动返回400错误
            var profession = _mapper.Map <Profession>(professionAddDto);

            profession.AcademyId = academyId;
            //添加导航属性
            profession.Academy = await _academyRepository.GetAcademyAsync(academyId);

            _professionRepository.AddProfession(profession);//只是被添加到DbContext里
            await _professionRepository.SaveAsync();

            var professionDto = _mapper.Map <ProfessionDto>(profession);

            return(CreatedAtRoute(nameof(GetProfession), new { professionId = profession.ProfessionId }, professionDto));
        }
Esempio n. 3
0
        public async Task <ActionResult <TeacherDto> > CreateTeacher(Guid academyId, TeacherAddDto teacherAddDto)
        {
            if (!await _academyRepository.AcademyExistAsync(academyId))
            {
                return(NotFound());
            }

            var teacher = _mapper.Map <Teacher>(teacherAddDto);

            teacher.AcademyId = academyId;
            //添加导航属性?
            teacher.Academy = await _academyRepository.GetAcademyAsync(academyId);

            _teacherRepository.AddTeacher(teacher);

            await _teacherRepository.SaveAsync();

            var teacherDto = _mapper.Map <TeacherDto>(teacher);

            return(CreatedAtRoute(nameof(GetTeacher), new
                                  { teacherId = teacher.TeacherId }, teacherDto));
        }