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 CadastrarEmpresa(CadastrarEmpresaViewModel empresa)
 {
     try
     {
         if (empresa.CaminhoImagem == null || empresa.CaminhoImagem.Length <= 2)
         {
             empresa.CaminhoImagem = "Teste.webp";
         }
         VerificacaoViewModel vm = new VerificacaoViewModel()
         {
             Email        = empresa.Email,
             RazaoSocial  = empresa.RazaoSocial,
             NomeFantasia = empresa.NomeFantasia,
             Cnpj         = empresa.Cnpj
         };
         var Response = usuarioRepository.VerificarSeCredencialJaFoiCadastrada(vm);
         if (Response == null)
         {
             empresa.Senha = Crypter.Criptografador(empresa.Senha);
             if (usuarioRepository.CadastrarEmpresa(empresa))
             {
                 return(Ok("Nova empresa cadastrada com sucesso!"));
             }
             else
             {
                 return(BadRequest("Um erro ocorreu e nao foi possivel efetuar o cadastro."));
             }
         }
         else
         {
             return(BadRequest(Response));
         }
     }
     catch (Exception e)
     {
         return(BadRequest("Uma exceção ocorreu. Tente novamente."));
     }
 }
        public string VerificarSeCredencialJaFoiCadastrada(VerificacaoViewModel vm)
        {
            using (DbSenaiContext ctx = new DbSenaiContext())
            {
                try
                {
                    var usuarioBuscado = ctx.Usuario.FirstOrDefault(x => x.Email == vm.Email);
                    if (usuarioBuscado != null)
                    {
                        return("O email ja foi cadastrado");
                    }

                    if (vm.Rg != null || vm.Cpf != null)
                    {
                        var candidatoBuscado = ctx.Candidato.FirstOrDefault(x => x.Cpf == vm.Cpf);
                        if (candidatoBuscado != null)
                        {
                            return("O cpf ja foi cadastrado");
                        }
                        var candidatoBuscadoLink = ctx.Candidato.FirstOrDefault(x => x.LinkLinkedinCandidato == vm.LinkLinkedinCandidato);
                        if (candidatoBuscadoLink != null)
                        {
                            return("O linkedin ja foi cadastrado");
                        }
                        var candidatoBuscadoTelefone = ctx.Candidato.FirstOrDefault(x => x.Telefone == vm.Telefone);
                        if (candidatoBuscadoTelefone != null)
                        {
                            return("O telefone ja foi cadastrado");
                        }
                        var candidatoBuscadoRg = ctx.Candidato.FirstOrDefault(x => x.Rg == vm.Rg);
                        if (candidatoBuscado != null || candidatoBuscadoRg != null)
                        {
                            return("O rg ja foi cadastrado");
                        }
                        else
                        {
                            return(null);
                        }
                    }
                    var empresaBuscada = ctx.Empresa.FirstOrDefault(x => x.Cnpj == vm.Cnpj);
                    if (empresaBuscada != null)
                    {
                        return("O cnpj ja foi cadastrado");
                    }
                    var empresaBuscadaRazao = ctx.Empresa.FirstOrDefault(x => x.RazaoSocial == vm.RazaoSocial);
                    if (empresaBuscadaRazao != null)
                    {
                        return("A razao social ja foi cadastrada");
                    }
                    var empresaBuscadaNomeFantasia = ctx.Empresa.FirstOrDefault(x => x.NomeFantasia == vm.NomeFantasia);
                    if (empresaBuscadaNomeFantasia != null)
                    {
                        return("O nome fantasia ja foi cadastrado");
                    }
                    else
                    {
                        return(null);
                    }
                }
                catch (Exception)
                {
                    return("Erro no sistema");
                }
            }
        }