public async Task <ActionResult <Doctor> > CreateDoctor(DoctorResource doctorResource) { var doctor = _mapper.Map <DoctorResource, Doctor>(doctorResource); await _doctorService.CreateDoctor(doctor); return(Ok(doctor)); }
public async Task <ActionResult <Doctor> > UpdateDoctor(Guid id, [FromBody] DoctorResource saveDoctor) { var doctorToBeUpdate = await _doctorService.GetDoctorById(id); if (doctorToBeUpdate == null) { return(NotFound()); } var doctorResuource = _mapper.Map <DoctorResource, Doctor>(saveDoctor); await _doctorService.UpdateDoctor(doctorToBeUpdate, doctorResuource); var updatedDoctor = await _doctorService.GetDoctorById(id); return(Ok(updatedDoctor)); }
public async Task <IActionResult> PostDoctor([FromBody] DoctorResource doctorResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var title = await this.titleRepository.GetTitleAsync(doctorResource.TitleId); doctorResource.RoleId = title.IsSpecialist? 3 : 2; // 3: nonSpecialist, 2: Specialist var doctor = mapper.Map <DoctorResource, Doctor>(doctorResource); this.repository.CreateDoctor(doctor); await this.unitOfWork.CompleteAsync(); doctor = await this.repository.getDoctorAsync(doctor.Id); return(Ok(mapper.Map <Doctor, DoctorResource>(doctor))); }