public ActionResult <CandidatoModel> Post([FromBody] NovoCandidatoModel novoCandidato) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var vestibular = Vestibulares.FirstOrDefault(v => v.Id == novoCandidato.IdVestibular); if (vestibular == null) { return(Conflict($"Vestibular id {novoCandidato.IdVestibular} não encontrado.")); } if (vestibular.DataInicioInscricao > DateTime.Now || vestibular.DataTerminoInscricao < DateTime.Now) { return(Conflict($"Vestibular fora do periodo de inscrição de {vestibular.DataInicioInscricao} à {vestibular.DataTerminoInscricao}")); } if (m_Repositorio.Any(a => a.Cpf == novoCandidato.Cpf && a.IdVestibular == novoCandidato.IdVestibular)) { return(Conflict($"Já existe uma inscrição para o cpf {novoCandidato.Cpf} no vestibular {novoCandidato.IdVestibular}")); } var candidato = _mapper.Map <CandidatoModel>(novoCandidato); candidato.Id = m_contador++; candidato.DataInscricao = DateTime.Now; m_Repositorio.Add(candidato); return(Created(nameof(Get), candidato)); }
public ActionResult <CandidatoModel> Put(int id, [FromBody] NovoCandidatoModel novoCandidato) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var candidato = m_Repositorio.FirstOrDefault(a => a.Id == id); if (candidato == null) { return(NotFound()); } var vestibular = Vestibulares.FirstOrDefault(v => v.Id == novoCandidato.IdVestibular); if (vestibular == null) { return(Conflict($"Vestibular id {novoCandidato.IdVestibular} não encontrado.")); } if (vestibular.DataInicioInscricao > DateTime.Now || vestibular.DataTerminoInscricao < DateTime.Now) { return(Conflict($"Vestibular fora do periodo de inscrição de {vestibular.DataInicioInscricao} à {vestibular.DataTerminoInscricao}")); } if (m_Repositorio.Any(a => a.Id != id && a.Cpf == novoCandidato.Cpf && a.IdVestibular == novoCandidato.IdVestibular)) { return(Conflict($"Já existe uma inscrição para o cpf {novoCandidato.Cpf} no vestibular {novoCandidato.IdVestibular}")); } _mapper.Map(novoCandidato, candidato); return(Ok(candidato)); }