Exemplo n.º 1
0
        public async Task <IActionResult> CandidatarSe([FromBody] CandidaturaUsuario NovaCandidatura)
        {
            Candidato userlogado = await _candidato.BuscarCandidato(Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(c => c.Type == "IdUsuario").Value));

            bool resultado = validacao.ValidacaoCandidatura(NovaCandidatura.IdVaga, userlogado.IdCandidato, await _candidaturaRepository.ListarCandidaturas());

            if (resultado.Equals(false))
            {
                return(StatusCode(403, new { msgerro = "Você já aplicou para esta vaga..." }));
            }

            try
            {
                Candidatura candidatura = new Candidatura()
                {
                    Escolhido       = NovaCandidatura.Escolhido,
                    DataCandidatura = DateTime.Today,
                    IdCandidato     = userlogado.IdCandidato,
                    IdVaga          = NovaCandidatura.IdVaga
                };

                await _candidaturaRepository.SeCandidatar(candidatura);

                return(StatusCode(200, new { msgsucesso = "Vaga aplicada com sucesso" }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.InnerException));
            }
        }