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)); }
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)); }
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)); }