private void ucMenuInferior1_EventoCadastrar()
        {
            try
            {
                #region CADASTRAR FUNCIONARIO


                if (verificaButton == 0)
                {
                    #region VALIDA - NOME

                    if (String.IsNullOrEmpty(txtNome.Text))
                    {
                        errorProviderTela.SetError(txtNome, "Informe o nome");
                        txtNome.Clear();
                        return;
                    }
                    funcionario.Nome = txtNome.Text;

                    #endregion

                    #region VALIDA - SEXO

                    if (rdbMasc.Checked == false && rdbFem.Checked == false)
                    {
                        errorProviderTela.SetError(rdbFem, "Informe o sexo");
                        return;
                    }
                    if (rdbFem.Checked == true)
                    {
                        funcionario.Sexo = 0;
                    }
                    else
                    {
                        funcionario.Sexo = 1;
                    }

                    #endregion

                    #region VALIDA - NASCIMENTO

                    funcionario.Nascimento = dtpNascimento.Value;

                    #endregion

                    #region VALIDA - IDENTIDADE

                    //if (String.IsNullOrEmpty(txtRg.Text))
                    //{
                    //    errorProviderTela.SetError(txtRg, "Informe a identidade");
                    //    txtRg.Clear();
                    //    return;
                    //}
                    funcionario.Rg = txtRg.Text;

                    #endregion

                    #region VALIDA - CPF

                    //if (mskCpf.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskCpf, "Informe o cpf");
                    //    mskCpf.Clear();
                    //    return;
                    //}
                    funcionario.Cpf = mskCpf.Text;

                    #endregion

                    #region VALIDA - NACIONALIDADE

                    //if (String.IsNullOrEmpty(cmbNacionalidade.Text))
                    //{
                    //    errorProviderTela.SetError(cmbNacionalidade, "Informe a nacionalidade");
                    //    return;
                    //}
                    funcionario.Nacionalidade = cmbNacionalidade.Text;

                    #endregion

                    #region VALIDA - NATURALIDADE

                    //if (String.IsNullOrEmpty(txtNaturalidade.Text))
                    //{
                    //    errorProviderTela.SetError(txtNaturalidade, "Informe a naturalidade");
                    //    txtNaturalidade.Clear();
                    //    return;
                    //}
                    funcionario.Naturalidade = txtNaturalidade.Text;

                    #endregion

                    #region VALIDA - ESTADO CIVIL

                    //if (String.IsNullOrEmpty(cmbEstadoCivil.Text))
                    //{
                    //    errorProviderTela.SetError(cmbEstadoCivil, "Informe o estado civil");
                    //    return;
                    //}
                    funcionario.EstadoCivil = cmbEstadoCivil.Text;

                    #endregion

                    #region VALIDA - ENDEREÇO

                    //if (String.IsNullOrEmpty(txtLogradouro.Text))
                    //{
                    //    errorProviderTela.SetError(txtLogradouro, "Informe o endereço");
                    //    txtLogradouro.Clear();
                    //    return;
                    //}
                    funcionario.Logradouro = txtLogradouro.Text;

                    #endregion

                    #region VALIDA - COMPLEMENTO

                    //if (String.IsNullOrEmpty(txtComplemento.Text))
                    //{
                    //    errorProviderTela.SetError(txtComplemento, "Informe o complemento");
                    //    txtComplemento.Clear();
                    //    return;
                    //}
                    funcionario.ComplementoEndereco = txtComplemento.Text;

                    #endregion

                    #region VALIDA - NOME EDIFÍCIL

                    //if (String.IsNullOrEmpty(txtNomeEdificil.Text))
                    //{
                    //    errorProviderTela.SetError(txtNomeEdificil, "Informe o nome edifícil");
                    //    txtNomeEdificil.Clear();
                    //    return;
                    //}
                    funcionario.Edificio = txtNomeEdificil.Text;

                    #endregion

                    #region VALIDA - BAIRRO

                    //if (String.IsNullOrEmpty(txtBairro.Text))
                    //{
                    //    errorProviderTela.SetError(txtBairro, "Informe o bairro");
                    //    txtBairro.Clear();
                    //    return;
                    //}
                    funcionario.Bairro = txtBairro.Text;

                    #endregion

                    #region VALIDA - CEP

                    //if (mskCep.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskCep, "Informe o cep");
                    //    mskCep.Clear();
                    //    return;
                    //}
                    funcionario.Cep = mskCep.Text;

                    #endregion

                    #region VALIDA - UF

                    //if (String.IsNullOrEmpty(cmbUf.Text))
                    //{
                    //    errorProviderTela.SetError(cmbUf, "Informe o uf");
                    //    return;
                    //}
                    funcionario.Uf = cmbUf.Text;

                    #endregion

                    #region VALIDA - CIDADE

                    //if (String.IsNullOrEmpty(txtCidade.Text))
                    //{
                    //    errorProviderTela.SetError(txtCidade, "Informe a cidade");
                    //    txtCidade.Clear();
                    //    return;
                    //}
                    funcionario.Cidade = txtCidade.Text;

                    #endregion

                    #region VALIDA - FONE

                    //if (mskFoneResidencia.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskFoneResidencia, "Informe o fone da residência");
                    //    mskFoneResidencia.Clear();
                    //    return;
                    //}
                    funcionario.FoneEmergencia = mskFoneResidencia.Text;

                    #endregion

                    #region VALIDA - FONE OPCIONAL

                    //if (mskFoneOpcional.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskFoneOpcional, "Informe um fone opcional");
                    //    mskFoneOpcional.Clear();
                    //    return;
                    //}
                    funcionario.FoneOpcional = mskFoneOpcional.Text;

                    #endregion

                    #region VALIDA - FILIAÇÃO PAI

                    //if (String.IsNullOrEmpty(txtFiliacaoPai.Text))
                    //{
                    //    errorProviderTela.SetError(txtFiliacaoPai, "Informe o nome do pai");
                    //    txtFiliacaoPai.Clear();
                    //    return;
                    //}
                    funcionario.FiliacaoPai = txtFiliacaoPai.Text;

                    #endregion

                    #region VALIDA - FILIAÇÃO MÃE

                    //if (String.IsNullOrEmpty(txtFiliacaoMae.Text))
                    //{
                    //    errorProviderTela.SetError(txtFiliacaoMae, "Informe o nome da mãe");
                    //    txtFiliacaoMae.Clear();
                    //    return;
                    //}
                    funcionario.FiliacaoMae = txtFiliacaoMae.Text;

                    #endregion

                    funcionario.PerfilID = 1;
                    funcionario.Status   = (int)Status.Ativo;

                    funcionario = ucMenuImagemFunc1.retornaFuncionario(funcionario);
                    Memoria memoria = Memoria.Instance;
                    if (memoria.Funcionario == null)
                    {
                        if (verificaSeJaCadastrado(funcionario) == false)
                        {
                            funcionario = ucMenuImagemFunc1.retornaFuncionario(funcionario);
                            funcionarioControlador.Incluir(funcionario);
                            funcionarioControlador.Confirmar();
                            ucMenuImagemFunc1.carregaFuncionario(funcionario);

                            memoria.Funcionario = funcionario;

                            MessageBox.Show(FuncionarioConstantes.FUNCIONARIO_INCLUIDO, "Colégio Conhecer");
                        }
                        else
                        {
                            funcionarioControlador.Alterar(funcionario);
                            ucMenuImagemFunc1.carregaFuncionario(funcionario);

                            MessageBox.Show(FuncionarioConstantes.FUNCIONARIO_ALTERADO, "Colégio Conhecer");
                        }
                    }
                }

                #endregion

                #region ALTERAR FUNCIONARIO


                if (verificaButton == 1)
                {
                    #region VALIDA - NOME

                    if (String.IsNullOrEmpty(txtNome.Text))
                    {
                        errorProviderTela.SetError(txtNome, "Informe o nome");
                        txtNome.Clear();
                        return;
                    }
                    funcionario.Nome = txtNome.Text;

                    #endregion

                    #region VALIDA - SEXO

                    if (rdbMasc.Checked == false && rdbFem.Checked == false)
                    {
                        errorProviderTela.SetError(rdbFem, "Informe o sexo");
                        return;
                    }
                    if (rdbFem.Checked == true)
                    {
                        funcionario.Sexo = 0;
                    }
                    else
                    {
                        funcionario.Sexo = 1;
                    }

                    #endregion

                    #region VALIDA - NASCIMENTO

                    funcionario.Nascimento = dtpNascimento.Value;

                    #endregion

                    #region VALIDA - IDENTIDADE

                    //if (String.IsNullOrEmpty(txtRg.Text))
                    //{
                    //    errorProviderTela.SetError(txtRg, "Informe a identidade");
                    //    txtRg.Clear();
                    //    return;
                    //}
                    funcionario.Rg = txtRg.Text;

                    #endregion

                    #region VALIDA - CPF

                    //if (mskCpf.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskCpf, "Informe o cpf");
                    //    mskCpf.Clear();
                    //    return;
                    //}
                    funcionario.Cpf = mskCpf.Text;

                    #endregion

                    #region VALIDA - NACIONALIDADE

                    //if (String.IsNullOrEmpty(cmbNacionalidade.Text))
                    //{
                    //    errorProviderTela.SetError(cmbNacionalidade, "Informe a nacionalidade");
                    //    return;
                    //}
                    funcionario.Nacionalidade = cmbNacionalidade.Text;

                    #endregion

                    #region VALIDA - NATURALIDADE

                    //if (String.IsNullOrEmpty(txtNaturalidade.Text))
                    //{
                    //    errorProviderTela.SetError(txtNaturalidade, "Informe a naturalidade");
                    //    txtNaturalidade.Clear();
                    //    return;
                    //}
                    funcionario.Naturalidade = txtNaturalidade.Text;

                    #endregion

                    #region VALIDA - ESTADO CIVIL

                    //if (String.IsNullOrEmpty(cmbEstadoCivil.Text))
                    //{
                    //    errorProviderTela.SetError(cmbEstadoCivil, "Informe o estado civil");
                    //    return;
                    //}
                    funcionario.EstadoCivil = cmbEstadoCivil.Text;

                    #endregion

                    #region VALIDA - ENDEREÇO

                    //if (String.IsNullOrEmpty(txtLogradouro.Text))
                    //{
                    //    errorProviderTela.SetError(txtLogradouro, "Informe o endereço");
                    //    txtLogradouro.Clear();
                    //    return;
                    //}
                    funcionario.Logradouro = txtLogradouro.Text;

                    #endregion

                    #region VALIDA - COMPLEMENTO

                    //if (String.IsNullOrEmpty(txtComplemento.Text))
                    //{
                    //    errorProviderTela.SetError(txtComplemento, "Informe o complemento");
                    //    txtComplemento.Clear();
                    //    return;
                    //}
                    funcionario.ComplementoEndereco = txtComplemento.Text;

                    #endregion

                    #region VALIDA - NOME EDIFÍCIL

                    //if (String.IsNullOrEmpty(txtNomeEdificil.Text))
                    //{
                    //    errorProviderTela.SetError(txtNomeEdificil, "Informe o nome edifícil");
                    //    txtNomeEdificil.Clear();
                    //    return;
                    //}
                    funcionario.Edificio = txtNomeEdificil.Text;

                    #endregion

                    #region VALIDA - BAIRRO

                    //if (String.IsNullOrEmpty(txtBairro.Text))
                    //{
                    //    errorProviderTela.SetError(txtBairro, "Informe o bairro");
                    //    txtBairro.Clear();
                    //    return;
                    //}
                    funcionario.Bairro = txtBairro.Text;

                    #endregion

                    #region VALIDA - CEP

                    //if (mskCep.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskCep, "Informe o cep");
                    //    mskCep.Clear();
                    //    return;
                    //}
                    funcionario.Cep = mskCep.Text;

                    #endregion

                    #region VALIDA - UF

                    //if (String.IsNullOrEmpty(cmbUf.Text))
                    //{
                    //    errorProviderTela.SetError(cmbUf, "Informe o uf");
                    //    return;
                    //}
                    funcionario.Uf = cmbUf.Text;

                    #endregion

                    #region VALIDA - CIDADE

                    //if (String.IsNullOrEmpty(txtCidade.Text))
                    //{
                    //    errorProviderTela.SetError(txtCidade, "Informe a cidade");
                    //    txtCidade.Clear();
                    //    return;
                    //}
                    funcionario.Cidade = txtCidade.Text;

                    #endregion

                    #region VALIDA - FONE

                    //if (mskFoneResidencia.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskFoneResidencia, "Informe o fone da residência");
                    //    mskFoneResidencia.Clear();
                    //    return;
                    //}
                    funcionario.FoneEmergencia = mskFoneResidencia.Text;

                    #endregion

                    #region VALIDA - FONE OPCIONAL

                    //if (mskFoneOpcional.MaskCompleted == false)
                    //{
                    //    errorProviderTela.SetError(mskFoneOpcional, "Informe um fone opcional");
                    //    mskFoneOpcional.Clear();
                    //    return;
                    //}
                    funcionario.FoneOpcional = mskFoneOpcional.Text;

                    #endregion

                    #region VALIDA - FILIAÇÃO PAI

                    //if (String.IsNullOrEmpty(txtFiliacaoPai.Text))
                    //{
                    //    errorProviderTela.SetError(txtFiliacaoPai, "Informe o nome do pai");
                    //    txtFiliacaoPai.Clear();
                    //    return;
                    //}
                    funcionario.FiliacaoPai = txtFiliacaoPai.Text;

                    #endregion

                    #region VALIDA - FILIAÇÃO MÃE

                    //if (String.IsNullOrEmpty(txtFiliacaoMae.Text))
                    //{
                    //    errorProviderTela.SetError(txtFiliacaoMae, "Informe o nome da mãe");
                    //    txtFiliacaoMae.Clear();
                    //    return;
                    //}
                    funcionario.FiliacaoMae = txtFiliacaoMae.Text;

                    #endregion

                    funcionario.PerfilID = 1;
                    funcionario.Status   = (int)Status.Ativo;


                    Memoria memoria = Memoria.Instance;
                    if (memoria.Funcionario == null)
                    {
                        funcionarioControlador.Alterar(funcionario);
                        MessageBox.Show(FuncionarioConstantes.FUNCIONARIO_ALTERADO, "Colégio Conhecer");
                        ucMenuImagemFunc1.carregaFuncionario(funcionario);
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //Habilitar o User Control lateral
            ucMenuLateralFunc1.Enabled = true;

            //Habilitar o Button Imprimir
            btnImprimir.Enabled = false;

            //Desabilitar todos os campos da tela
            Enabled_False();

            //Zerar o verificador de botao "Alterar" e "Cadastrar"
            verificaButton = 0;
        }