public ResponseModel Save(Doctor entity) { try { entity.Validate(); if (CrmExist(entity.CRM)) { entity.AddNotification("CRM", "Este CRM já foi cadastrado"); } if (entity.Notifications.Count > 0) { return(new ResponseModel { Status = EResultStatus.Failure, Notifications = entity.Notifications, Message = "Falha ao tentar cadastrar o médico" }); } else { var specialty = _uow.SpecialtyRepository.GetById(entity.SpecialtyId); if (specialty == null) { return(new ResponseModel { Message = "Especialidade não encontrada" }); } _uow.DoctorRepository.Add(entity); _uow.SaveChanges(); return(new ResponseModel { Status = EResultStatus.Success, Location = $"/api/doctors/{entity.Id}", Message = "Médico cadastrado com sucesso" }); } } catch (Exception ex) { return(new ResponseModel { Status = EResultStatus.Failure, InnerException = ex.Message, Message = "Falha ao tentar cadastrar o médico" }); } }