public IActionResult Cadastrar(CadastrarCandidatoViewModel dados)
        {
            if (ModelState.IsValid)
            {
                //Valida se o e-mail informado é único.
                if (!ccrn.EmailUnico(dados.Candidato.CandidatoEmail))
                {
                    ModelState.AddModelError("Candidato.CandidatoEmail", "E-mail já utilizado.");
                    return(View(dados));
                }


                if (dados.FotoPerfil != null)
                {
                    var uploads  = Path.Combine(hostingEnvironment.WebRootPath, "images/user-pic");
                    var filePath = Path.Combine(uploads, dados.FotoPerfil.FileName);

                    dados.FotoPerfil.CopyTo(new FileStream(filePath, FileMode.Create));

                    dados.Candidato.CandidatoImgPath = "images/user-pic/" + dados.FotoPerfil.FileName;
                }
                else
                {
                    dados.Candidato.CandidatoImgPath = "images/user-pic/default-user.png";
                }
                ccrn.CadastraCandidato(dados.Candidato);

                return(Redirect("/Home"));
            }
            else
            {
                return(View(dados));
            }
        }
        public bool CadastrarCandidato(CadastrarCandidatoViewModel NovoCandidato)
        {
            using (DbSenaiContext ctx = new DbSenaiContext())
            {
                try
                {
                    Usuario user = new Usuario()
                    {
                        Email             = NovoCandidato.Email.Trim(),
                        Senha             = NovoCandidato.Senha,
                        IdTipoUsuario     = 2,
                        RespostaSeguranca = NovoCandidato.RespostaSeguranca,
                        PerguntaSeguranca = NovoCandidato.PerguntaSeguranca,
                        CaminhoImagem     = NovoCandidato.CaminhoImagem
                    };
                    Candidato applicant = new Candidato()
                    {
                        IdUsuarioNavigation = user,
                        NomeCompleto        = NovoCandidato.NomeCompleto,
                        Rg       = NovoCandidato.Rg.Trim(),
                        Cpf      = NovoCandidato.Cpf.Trim(),
                        Telefone = NovoCandidato.Telefone.Trim(),
                        LinkLinkedinCandidato = NovoCandidato.LinkLinkedinCandidato.Trim(),
                        IdCurso = NovoCandidato.IdCurso
                    };

                    ctx.Add(applicant);
                    ctx.SaveChanges();
                    string variavel = "ImageBackUp/";
                    if (user.CaminhoImagem == "Teste.webp" || user.CaminhoImagem == "user.png")
                    {
                        variavel = "imgPerfil/";
                    }
                    string pathToSave = Path.Combine(Directory.GetCurrentDirectory(), variavel + user.CaminhoImagem);
                    string pathMove   = Path.Combine(Directory.GetCurrentDirectory(), "imgPerfil/" + user.CaminhoImagem);
                    File.Move(pathToSave, pathMove, true);
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
        public IActionResult CadastrarCandidato(CadastrarCandidatoViewModel NovoCandidato)
        {
            try
            {
                VerificacaoViewModel vm = new VerificacaoViewModel()
                {
                    Email    = NovoCandidato.Email,
                    Rg       = NovoCandidato.Email,
                    Cpf      = NovoCandidato.Cpf,
                    Telefone = NovoCandidato.Telefone,
                    LinkLinkedinCandidato = NovoCandidato.LinkLinkedinCandidato
                };
                if (NovoCandidato.CaminhoImagem == null || NovoCandidato.CaminhoImagem.Length <= 2)
                {
                    NovoCandidato.CaminhoImagem = "user.png";
                }

                var Response = usuarioRepository.VerificarSeCredencialJaFoiCadastrada(vm);
                if (Response == null)
                {
                    NovoCandidato.Senha = Crypter.Criptografador(NovoCandidato.Senha);
                    if (usuarioRepository.CadastrarCandidato(NovoCandidato))
                    {
                        return(Ok("Novo candidato inserido com sucesso!"));
                    }
                    else
                    {
                        return(BadRequest("Um erro ocorreu ao receber a sua requisição."));
                    }
                }
                else
                {
                    return(BadRequest(Response));
                }
            }
            catch (Exception)
            {
                return(BadRequest("Uma exceção ocorreu. Tente novamente."));
            }
        }
        public IActionResult Cadastrar()
        {
            CadastrarCandidatoViewModel viewModel = new CadastrarCandidatoViewModel();

            return(View(viewModel));
        }