Example #1
0
        public async Task <IActionResult> CadastrarCandidato([FromBody] UsuarioCandidato usuarioCandidato)
        {
            try
            {
                bool resultado = validacao.ValidacaoEmail(this.usuario.ListarUsuario(), usuarioCandidato.Email);

                if (resultado.Equals(false))
                {
                    return(StatusCode(403, new { msgerro = "O E-Mail inserido já está cadastrado" }));
                }

                Usuario usuario = new Usuario()
                {
                    Email         = usuarioCandidato.Email,
                    Senha         = usuarioCandidato.Senha,
                    Administrador = false
                };

                await this.usuario.CadastrarUsuario(usuario);

                Usuario novo = await this.usuario.Login(usuario.Email, usuario.Senha);

                Candidato candidato = new Candidato()
                {
                    IdUsuario      = novo.IdUsuario,
                    NomeAluno      = usuarioCandidato.NomeAluno,
                    DataNascimento = usuarioCandidato.DataNascimento,
                    Cpf            = usuarioCandidato.Cpf
                };

                await _candidatoRepository.CadastrarCandidato(candidato);

                Candidato novoC = await _candidatoRepository.BuscarCandidato(novo.IdUsuario);

                Curriculo curriculo = new Curriculo()
                {
                    IdCandidato     = novoC.IdCandidato,
                    Cursando        = false,
                    Descricao       = "Descrição avançada sobre si, como por exemplo habilidades e experiências..",
                    CursosFormacoes = "Formação acadêmica e cursos",
                    Escolaridade    = "A escolaridade do usuário",
                    Linguas         = "Adicione se tiveres alguma proeficiência num idioma específico",
                    PalavraChave    = "esforço, c#, aspnetcore"
                };

                await _curriculo.NovoCurriculo(curriculo);


                return(StatusCode(201, new { msgsucesso = "O candidato foi cadastrado com sucesso" }));
            }
            catch (Exception EX)
            {
                return(BadRequest(new { msgerro = $"Ocorreu um erro, contate o administrador, {EX.Message}" }));
            }
        }