public ActionResult <ExpertDto> UpdateExpert(Guid expertId, ExpertForCreationDto expertInput) { if (!expertRepository.ExpertExist(expertId)) { return(NotFound()); } var expert = expertRepository.GetExpert(expertId); if (expert.Email != expertInput.Email) { if (expertRepository.GetExperts() .Any(e => e.Email == expertInput.Email)) { return(Conflict($"Email address {expertInput.Email} already belongs to another expert")); } } var expertToUpdate = mapper.Map <Expert>(expertInput); expertRepository.UpdateExpert(expertId, expertToUpdate); expertRepository.Save(); var expertToReturn = mapper.Map <ExpertDto>(expertRepository.GetExpert(expertId)); return(CreatedAtRoute("GetExpert", new { expertId = expertToReturn.Id }, expertToReturn)); }
public ActionResult <ExpertDto> CreateExpert(ExpertForCreationDto expertInput) { var expertToCreate = mapper.Map <Expert>(expertInput); expertRepository.CreateExpert(expertToCreate); expertRepository.Save(); var expertToReturn = mapper.Map <ExpertDto>(expertToCreate); return(CreatedAtRoute("GetExpert", new { expertId = expertToReturn.Id }, expertToReturn)); }
public ActionResult <ExpertDto> CreateExpert(ExpertForCreationDto expertInput) { if (expertRepository.GetExperts() .Any(e => e.Email == expertInput.Email)) { return(Conflict($"{expertInput.Email} already exists")); } var expertToCreate = mapper.Map <Expert>(expertInput); expertRepository.CreateExpert(expertToCreate); expertRepository.Save(); var expertToReturn = mapper.Map <ExpertDto>(expertToCreate); return(CreatedAtRoute("GetExpert", new { expertId = expertToReturn.Id }, expertToReturn)); }
public ActionResult <ExpertDto> UpdateExpert(Guid expertId, ExpertForCreationDto expertInput) { if (!expertRepository.ExpertExist(expertId)) { return(NotFound()); } var expertToUpdate = mapper.Map <Expert>(expertInput); expertRepository.UpdateExpert(expertId, expertToUpdate); expertRepository.Save(); var expertToReturn = mapper.Map <ExpertDto>(expertRepository.GetExpert(expertId)); return(CreatedAtRoute("GetExpert", new { expertId = expertToReturn.Id }, expertToReturn)); }