public async Task <IActionResult> SalvarMedico(MedicoDto medicoDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_repo.ValidaCpf(medicoDto.Cpf)) { return(BadRequest("CPF inválido")); } //preparando meus registro da tabela de medico pra ser salva no banco var medico = new Medico { Nome = medicoDto.Nome, Crm = medicoDto.Crm, Cpf = medicoDto.Cpf }; for (int i = 0; i < medicoDto.Especialidades.Count; i++) { //preparando meus registro da tabela de especialidades pra ser salva no banco var especialista = new Especialidade { Descricao = medicoDto.Especialidades[i], Medico = medico }; _repo.Add(especialista); } _repo.Add(medico); if (await _repo.SalvarTodos()) { return(Ok(200)); } return(BadRequest("Médico não cadastrado")); }
public IActionResult Create([FromBody] Models.Medico medico) { var insert = _medicoRepository.Add(new Repositories.Model.Medico { Nome = medico.Nome, Cpf = medico.Cpf, Crm = medico.Crm }); var especialidades = _especialidadeRepository.GetAll().ToList(); var especialidadesMedico = new List <EspecialidadeMedico>(); var especialidadesNaoCadastradas = new List <string>(); var especialidadesCadastradas = especialidades.Where(x => medico.Especialidades.Any(y => y.ToLower() == x.Nome.ToLower())).ToList(); if (especialidadesCadastradas.Any()) { especialidadesNaoCadastradas = medico.Especialidades.Where(x => especialidadesCadastradas.Any(y => y.Nome.ToLower() != x.ToLower())).ToList(); } else { especialidadesNaoCadastradas = medico.Especialidades.ToList(); } foreach (var item in especialidadesNaoCadastradas) { var itemEspecialidade = new Especialidade { Nome = item }; var idEspecialidade = _especialidadeRepository.Add(itemEspecialidade); especialidadesCadastradas.Add(new Especialidade { Id = new Guid(idEspecialidade), Nome = item }); } foreach (var item in especialidadesCadastradas) { especialidadesMedico.Add(new EspecialidadeMedico { EspecialidadeId = item.Id, MedicoId = new Guid(insert) }); } _especialidadeMedicoRepository.AddRange(especialidadesMedico); return(Ok(insert)); }
public void AddMedico(Medico m) { _medicoRepository.Add(m); }