Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }