private void LiberaBotaoVagas()
 {
     try
     {
         var voltar = bd.usuario.Where(x => x.idUsuario == UsuarioDados.Id).Where(y => y.tipoUsuario == true).FirstOrDefault();
         if (voltar != null)
         {
             this.Hide();
             TelaEventosCriados f = new TelaEventosCriados();
             f.Closed += (s, args) => this.Close();
             f.ShowDialog();
         }
         else
         {
             this.Hide();
             TelaVisualizacaoVagas f = new TelaVisualizacaoVagas();
             f.Closed += (s, args) => this.Close();
             f.ShowDialog();
         }
     }
     catch (Exception)
     {
         Mensagem.aviso = "Erro de conexão com o banco!";
         TelaMensagemAviso f = new TelaMensagemAviso();
         f.ShowDialog();
     }
 }
        public TelaVisualizacaoVagas()
        {
            InitializeComponent();
            label6.Text                   = "Deseja mesmo se desinscrever-se\n desta vaga?";
            pnIdioma.BorderStyle          = BorderStyle.FixedSingle;
            pnCabecalhoIdioma.BorderStyle = BorderStyle.FixedSingle;

            pnQualificacao.BorderStyle          = BorderStyle.FixedSingle;
            pnCabecalhoQualificacao.BorderStyle = BorderStyle.FixedSingle; //Bordas padrão

            pnExpProf.BorderStyle          = BorderStyle.FixedSingle;
            pnCabecalhoExpProf.BorderStyle = BorderStyle.FixedSingle;

            pnExpInt.BorderStyle          = BorderStyle.FixedSingle;
            pnCabecalhoExpInt.BorderStyle = BorderStyle.FixedSingle;

            padraoBotoes();         //Inicializa posição das gridviews

            Maximizacao.verifique(this, pbMaximizar);
            int id = PegarIDVaga.IDVaga;

            try
            {
                var evento = bd.evento.Where(x => x.idEvento == id).FirstOrDefault();

                if (evento != null)
                {
                    string txt  = evento.salario.ToString();
                    int    cont = txt.Length;

                    if (cont == 4)
                    {
                        txt = evento.salario.ToString();     //N.NNN
                        txt = txt.Insert(1, ".");
                    }
                    else if (cont == 5)
                    {
                        txt = evento.salario.ToString();     //NN.NNN
                        txt = txt.Insert(2, ".");
                    }
                    else if (cont == 6)
                    {
                        txt = evento.salario.ToString();     //NNN.NNN
                        txt = txt.Insert(3, ".");
                    }
                    else if (cont == 7)
                    {
                        txt = evento.salario.ToString();     //N.NNN.NNN
                        txt = txt.Insert(1, ".");
                        txt = txt.Insert(5, ".");
                    }
                    else if (cont == 8)
                    {
                        txt = evento.salario.ToString();     //NN.NNN.NNN                   //Máscara de salário
                        txt = txt.Insert(2, ".");
                        txt = txt.Insert(6, ".");
                    }
                    else if (cont == 9)
                    {
                        txt = evento.salario.ToString();     //NNN.NNN.NNN
                        txt = txt.Insert(3, ".");
                        txt = txt.Insert(7, ".");
                    }
                    else if (cont == 10)
                    {
                        txt = evento.salario.ToString();     //N.NNN.NNN.NNN
                        txt = txt.Insert(1, ".");
                        txt = txt.Insert(5, ".");
                        txt = txt.Insert(9, ".");
                    }

                    if (txt != null)
                    {
                        txt = txt + ",00";
                    }

                    lblVaga.Text        = evento.vagaEvento;
                    lblSalario.Text     = $"R$: {txt}";
                    lblTipoEmprego.Text = evento.tipoEmprego;
                    lblTurno.Text       = evento.turno;

                    var usuarioEmpresa = bd.usuario_empresa.Where(x => x.cnpj == evento.FK_usuario_empresa).FirstOrDefault();
                    var usuario        = bd.usuario.Where(x => x.idUsuario == usuarioEmpresa.FK_usuario).FirstOrDefault();
                    lblEmpresa.Text = usuario.nomeUsuario;

                    lblArea.Text = evento.areaEvento;
                    lblHorarioExpediente.Text = ("Entrada: " + evento.horarioInicialExpedienteEvento.ToString()
                                                 + " / Saída: " + evento.horarioFinalExpedienteEvento.ToString());

                    lblLocalizacao.Text = (evento.ruaEvento + ", " + evento.numeroEvento + " - " + evento.bairroEvento + ", "
                                           + evento.cidadeEvento + " " + evento.estadoEvento + ", " + evento.cepEvento);

                    lblPrazo.Text = evento.dataFinalEvento.Day + "/" + evento.dataFinalEvento.Month + "/" + evento.dataFinalEvento.Year;

                    var beneficio = bd.beneficios.Where(x => x.FK_evento == evento.idEvento).FirstOrDefault();

                    if (beneficio != null)
                    {
                        lblTxt2.Visible     = true;
                        pbLinha1.Visible    = true;
                        passadasOrganizacao = 0;
                        bool passouSaude   = false;
                        bool passouOdon    = false;
                        bool passouAlim    = false;
                        bool passouCultura = false;
                        bool passouHome    = false;
                        bool passouViagem  = false;
                        bool passouConv    = false;
                        bool passouBolsa   = false;

                        for (int i = 0; i < 8; i++)
                        {
                            if (beneficio.assistenciaSaude == true && passouSaude == false)
                            {
                                organizar("Assistência Saúde");
                                passouSaude = true;
                            }
                            else if (beneficio.assistenciaOdontologica == true && passouOdon == false)
                            {
                                organizar("Assistência Odontológica");
                                passouOdon = true;
                            }
                            else if (beneficio.valeAlimentacao == true && passouAlim == false)                //Adiciona os beneficios do evento
                            {
                                organizar("Vale - Alimentação");
                                passouAlim = true;
                            }
                            else if (beneficio.valeCultura == true && passouCultura == false)
                            {
                                organizar("Vale - Cultura");
                                passouCultura = true;
                            }
                            else if (beneficio.trabalhoHomeOffice == true && passouHome == false)
                            {
                                organizar("Trabalho Home-office");
                                passouHome = true;
                            }
                            else if (beneficio.valeViagem == true && passouViagem == false)
                            {
                                organizar("Vale - Viagem");
                                passouViagem = true;
                            }
                            else if (beneficio.salasDeConferencias == true && passouConv == false)
                            {
                                organizar("Salas de convivência");
                                passouConv = true;
                            }
                            else if (beneficio.bolsasDeEstudos == true && passouBolsa == false)
                            {
                                organizar("Bolsas de Estudo");
                                passouBolsa = true;
                            }
                        }
                    }

                    var teste_idioma = bd.idioma_evento.Where(x => x.idIdiomaEvento != 0).FirstOrDefault();

                    if (teste_idioma != null)
                    {
                        try
                        {
                            var dt1 = new DataTable();

                            dt1.Columns.Add("ID_Idioma");                           //Adicionando idioma na gridview
                            dt1.Columns.Add("idioma");
                            dt1.Columns.Add("nivel");
                            int max = bd.idioma_evento.Max(x => x.idIdiomaEvento);

                            for (int i = 0; i <= max; i++)
                            {
                                var idiomas = bd.idioma_evento.Where(x => x.FK_evento == PegarIDVaga.IDVaga).Where(y => y.idIdiomaEvento == i).FirstOrDefault();

                                if (idiomas != null)
                                {
                                    dt1.Rows.Add(idiomas.idIdiomaEvento, idiomas.linguaEvento,
                                                 idiomas.nivelEvento);

                                    dtIdioma.DataSource = dt1;                          //Conecta com o GridView

                                    this.dtIdioma.Columns["ID_Idioma"].Visible = false; //Tira as que não precisa
                                    testeAviso1 = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            Mensagem.aviso = "Erro ao se conectar com o banco!";
                            TelaMensagemAviso f = new TelaMensagemAviso();
                            f.ShowDialog();
                        }
                    }

                    var teste_qualificacao = bd.qualificacao_evento.Where(x => x.idQualificacaoEvento != 0).FirstOrDefault();

                    if (teste_qualificacao != null)
                    {
                        try
                        {
                            var dt1 = new DataTable();

                            dt1.Columns.Add("ID_Qualificacao");                           //Adicionando qualif na gridview
                            dt1.Columns.Add("NomeQualificacao");
                            dt1.Columns.Add("tipoQualificacao");
                            int max = bd.qualificacao_evento.Max(x => x.idQualificacaoEvento);

                            for (int i = 0; i <= max; i++)
                            {
                                var qualificacao = bd.qualificacao_evento.Where(x => x.FK_evento == PegarIDVaga.IDVaga).Where(y => y.idQualificacaoEvento == i).FirstOrDefault();

                                if (qualificacao != null)
                                {
                                    dt1.Rows.Add(qualificacao.idQualificacaoEvento, qualificacao.nomeQualificacaoEvento,
                                                 qualificacao.tipoQualificacaoEvento);

                                    dtQualificacao.DataSource = dt1;                                //Conecta com o GridView

                                    this.dtQualificacao.Columns["ID_Qualificacao"].Visible = false; //Tira as que não precisa
                                    testeAviso2 = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            Mensagem.aviso = "Erro ao se conectar com o banco!";
                            TelaMensagemAviso f = new TelaMensagemAviso();
                            f.ShowDialog();
                        }
                    }

                    var teste_experiencia_prof = bd.experiencia_profissional_evento.Where(x => x.idExperienciaEvento != 0).FirstOrDefault();

                    if (teste_experiencia_prof != null)
                    {
                        try
                        {
                            var dt1 = new DataTable();

                            dt1.Columns.Add("ID_Experiencia");                           //Adicionando exp prof na gridview
                            dt1.Columns.Add("NomeExperiencia");

                            int max = bd.experiencia_profissional_evento.Max(x => x.idExperienciaEvento);

                            for (int i = 0; i <= max; i++)
                            {
                                var experiencia = bd.experiencia_profissional_evento.Where(x => x.FK_evento == PegarIDVaga.IDVaga).Where(y => y.idExperienciaEvento == i).FirstOrDefault();

                                if (experiencia != null)
                                {
                                    dt1.Rows.Add(experiencia.idExperienciaEvento, experiencia.cargoExperienciaEvento);

                                    dtExpProf.DataSource = dt1;                               //Conecta com o GridView

                                    this.dtExpProf.Columns["ID_Experiencia"].Visible = false; //Tira as que não precisa
                                    testeAviso3 = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            Mensagem.aviso = "Erro ao se conectar com o banco!";
                            TelaMensagemAviso f = new TelaMensagemAviso();
                            f.ShowDialog();
                        }
                    }
                    var teste_experiencia_int = bd.experiencia_internacional_evento.Where(x => x.idInternacionalEvento != 0).FirstOrDefault();

                    if (teste_experiencia_int != null)
                    {
                        try
                        {
                            var dt1 = new DataTable();

                            dt1.Columns.Add("ID_ExperienciaInt");                           //Adicionando exp int na gridview
                            dt1.Columns.Add("CargoExp");
                            dt1.Columns.Add("Pais");
                            int max = bd.experiencia_internacional_evento.Max(x => x.idInternacionalEvento);

                            for (int i = 0; i <= max; i++)
                            {
                                var experiencia_int = bd.experiencia_internacional_evento.Where(x => x.FK_evento == PegarIDVaga.IDVaga).Where(y => y.idInternacionalEvento == i).FirstOrDefault();

                                if (experiencia_int != null)
                                {
                                    dt1.Rows.Add(experiencia_int.idInternacionalEvento, experiencia_int.cargoInternacionalEvento, experiencia_int.paisCargoInternacionalEvento);

                                    dtExpInt.DataSource = dt1;                                  //Conecta com o GridView

                                    this.dtExpInt.Columns["ID_ExperienciaInt"].Visible = false; //Tira as que não precisa
                                    testeAviso4 = false;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            Mensagem.aviso = "Erro ao se conectar com o banco!";
                            TelaMensagemAviso f = new TelaMensagemAviso();
                            f.ShowDialog();
                        }
                    }

                    var verifica_usuario = bd.usuario_trabalhador.Where(x => x.FK_usuario == UsuarioDados.Id).FirstOrDefault();

                    if (verifica_usuario != null)
                    {
                        var verifica_evento = bd.candidatos.Where(x => x.FK_usuario_trabalhador == verifica_usuario.CPF).Where(y => y.FK_evento == PegarIDVaga.IDVaga).FirstOrDefault();

                        if (verifica_evento != null)
                        {
                            JaPossui               = true;
                            lblInscricao.Text      = "Inscrito"; //Verifica se o usuário já está inscrito
                            pbInscricao.Image      = Properties.Resources.inscrito;
                            lblInscricao.BackColor = Color.FromArgb(89, 90, 99);
                        }
                        else
                        {
                            JaPossui = false;
                        }
                    }
                }
                else
                {
                    this.Hide();
                    TelaEventosCriados f = new TelaEventosCriados();  //Saida de erro
                    f.Closed += (s, args) => this.Close();
                    f.ShowDialog();
                }
            }
            catch (Exception)
            {
                Mensagem.aviso = "Erro de conexão com o banco!";
                TelaMensagemAviso f = new TelaMensagemAviso();
                f.ShowDialog();
            }
        }