private void btnSalvarLogin_Click(object sender, EventArgs e)
        {
            if (tbxSenha.Text == "" || tbxCSenha.Text == "")
            {
                new Mensagem("Campos obrigatórios em branco!\nPor favor preencha!", "informacao", Resources.erro).ShowDialog();
            }
            else if (tbxSenha.TextLength < 6)
            {
                new Mensagem("Tamanho de senha inválido!\nInsira uma senha com no mínimo\n seis caracteres.", "informacao", Resources.erro).ShowDialog();
            }
            else if (tbxSenha.Text == tbxCSenha.Text)
            {
                try
                {
                    func.senha = Criptografia.Encrypt(tbxSenha.Text);
                    FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();
                    funcionarioDel.inserirSenha(func);
                    new Mensagem("Senha cadastrada com sucesso!", "informacao", Resources.ok).ShowDialog();
                    func.alteracao = true;
                    this.Close();
                }
                catch (Exception erro)
                {

                    new Mensagem(erro.Message, "informacao", Resources.erro).ShowDialog();
                }

            }
            else
            {
                new Mensagem("Senhas não conferem!", "informacao", Resources.erro).ShowDialog();
            }
        }
        private void btnDesativar_Click(object sender, EventArgs e)
        {
            if (objFuncionario == null)
            {
                new Mensagem("Selecione um funcionário \n primeiro!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
            }
            else
            {
                Mensagem mensagem = new Mensagem("Desesa realmente excluir \no registro?", "senha", SGA.Properties.Resources.key);
                while (1 == 1)
                {
                    mensagem.tbxSenha.Text = "";
                    mensagem.ShowDialog();
                    try
                    {

                        if (mensagem.DialogResult == DialogResult.OK)
                        {
                            FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                            Funcionario funcionario = usuarioLogado;

                            funcionario.senha = Criptografia.Encrypt(mensagem.texto);

                            funcionarioDel.Logar(funcionario);
                            objFuncionario.chaveUsuario = usuarioLogado.matricula + "";
                            FuncionarioDelegate funcionarioD = new FuncionarioDelegate();
                            funcionarioD.desativaFuncionario(objFuncionario);
                            new Mensagem("Funcionário desativado com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                            usuarioLogado.alteracao = true;
                            break;

                        }
                        else
                        {
                            break;
                        }
                    }
                    catch (Exception erro)
                    {
                        if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                        {
                            new Mensagem("Senha inválida!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                        }
                        else
                        {
                            new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                            break;
                        }

                    }
                }
            }
            objFuncionario = null;
            montarTela();
            preencherListView();
        }
 private void preencherCbxFuncao()
 {
     FuncionarioDelegate funcionarioD = new FuncionarioDelegate();
     Queue funcao = funcionarioD.preencherCbxFuncao();
     cbxFuncao.Items.Clear();
     cbxFuncao.Items.Add("");
     while (funcao.Count != 0)
     {
         cbxFuncao.Items.Add(funcao.Dequeue().ToString());
     }
     cbxFuncao.SelectedItem = "";
 }
        private void preencherLstv()
        {
            listView1.Items.Clear();
            Queue array = new Queue();

            if (tipoTela == "funcao")
            {
                FuncionarioDelegate funcionarioD = new FuncionarioDelegate();
                array = funcionarioD.preencherCbxFuncao();
            }
            else if (tipoTela == "fabricante")
            {
                FerramentaDelegate ferramentaDel = new FerramentaDelegate();
                array = ferramentaDel.preencherCbxFabricante();
            }
            else
            {
                FerramentaDelegate ferramentaDel = new FerramentaDelegate();
                array = ferramentaDel.preencherCbxGrupo();
            }

            while (array.Count != 0)
            {
                listView1.Items.Add(array.Dequeue().ToString());
            }
        }
 private void manterCbx(string comando, string valorAntigo, string novoValor)
 {
     if (tipoTela == "funcao")
     {
         FuncionarioDelegate funcionarioDelegate = new FuncionarioDelegate();
         funcionarioDelegate.manterFuncao(comando, valorAntigo, novoValor);
     }
     else if (tipoTela == "fabricante")
     {
         FerramentaDelegate ferramentaDel = new FerramentaDelegate();
         ferramentaDel.manterFabricante(comando, valorAntigo, novoValor);
     }
     else if (tipoTela == "categoria")
     {
         FerramentaDelegate ferramentaDel = new FerramentaDelegate();
         ferramentaDel.manterGrupo(comando, valorAntigo, novoValor);
     }
 }
        private void pesquisarFuncionario()
        {
            FuncionarioDelegate funcionarioDelegate = new FuncionarioDelegate();
            Queue arrayFuncionario = funcionarioDelegate.pesquisaFuncionario(objPesquisaFunc);
            funcionarios.Clear();

            while (arrayFuncionario.Count != 0)
            {
                funcionarios.Add((Funcionario)arrayFuncionario.Dequeue());
            }
        }
        private void btnDesativar_Click(object sender, EventArgs e)
        {
            if (objRequisicao != null)
            {
                while (1 == 1)
                {
                    Mensagem mensagem = new Mensagem("Deseja finalizar a requisição?", "senha", SGA.Properties.Resources.key);
                    mensagem.tbxSenha.Text = "";
                    mensagem.ShowDialog();
                    try
                    {

                        if (mensagem.DialogResult == DialogResult.OK)
                        {
                            FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                            Funcionario funcionario = usuarioLogado;

                            funcionario.senha = Criptografia.Encrypt(mensagem.texto);

                            funcionarioDel.Logar(funcionario);

                            RequisicaoDelegate requisicaoDel = new RequisicaoDelegate();
                            objRequisicao.funcionario[2].matricula = usuarioLogado.matricula;
                            requisicaoDel.finalizarRequisicao(objRequisicao);

                            new Mensagem("Requisição finalizada com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                            usuarioLogado.alteracao = true;
                            break;
                        }
                        else
                        {
                            break;
                        }
                    }
                    catch (Exception erro)
                    {
                        if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                        {
                            new Mensagem("Senha incorreta!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                        }
                        else
                        {
                            new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                            break;
                        }

                    }

                }
                objRequisicao = null;
            }
            else
            {
                new Mensagem("Selecione uma requisição\nprimeiro!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
            }
            preencherListViewRequisicao();
        }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (arrayFerramentas.Count <= 0)
            {
                new Mensagem("Adicione ao menos uma\n ferramenta para salvar \na requisição!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
            }
            else
            {

                Mensagem mensagem = new Mensagem("Entre com a senha do atendente.", "senha", SGA.Properties.Resources.key);
                while (1 == 1)
                {
                    mensagem.tbxSenha.Text = "";
                    mensagem.ShowDialog();
                    try
                    {

                        if (mensagem.DialogResult == DialogResult.OK)
                        {
                            FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                            Funcionario funcionario = usuarioLogado;

                            funcionario.senha = Criptografia.Encrypt(mensagem.texto);

                            funcionarioDel.Logar(funcionario);

                            break;

                        }
                        else
                        {
                            mensagem.DialogResult = DialogResult.Cancel;
                            break;
                        }
                    }
                    catch (Exception erro)
                    {
                        if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                        {
                            new Mensagem("Senha incorreta!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                        }
                        else
                        {
                            new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                            break;
                        }

                    }
                }
                if (mensagem.DialogResult == DialogResult.OK)
                {
                    while (1 == 1)
                    {
                        mensagem = new Mensagem("Entre com a senha \nfuncionário requisitante.", "senha", SGA.Properties.Resources.key);
                        mensagem.tbxSenha.Text = "";
                        mensagem.ShowDialog();
                        try
                        {

                            if (mensagem.DialogResult == DialogResult.OK)
                            {
                                FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                                Funcionario funcionario = funcionarioRequisitante;

                                funcionario.senha = Criptografia.Encrypt(mensagem.texto);
                                Funcionario funVer = funcionarioDel.Logar(funcionario);
                                if (funVer.senha != "invalida")
                                {

                                    Requisicao requisicao = new Requisicao();
                                    requisicao.ferramentas = this.arrayFerramentas;
                                    requisicao.funcionario.Add(usuarioLogado);
                                    requisicao.funcionario.Add(funcionarioRequisitante);

                                    RequisicaoDelegate requisicaoDel = new RequisicaoDelegate();
                                    requisicaoDel.gravarRequisicao(requisicao);

                                    new Mensagem("Requisição cadastrada com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                                    usuarioLogado.alteracao = true;
                                    this.DialogResult = DialogResult.OK;
                                    break;
                                }
                                else
                                {
                                    new Mensagem("Senha incorreta!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                                }

                            }
                            else
                            {
                                break;
                            }
                        }
                        catch (Exception erro)
                        {
                            if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                            {
                                new Mensagem("Senha incorreta!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                            }
                            else
                            {
                                new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                                break;
                            }

                        }

                    }
                    if (mensagem.DialogResult == DialogResult.OK)
                    {
                        this.Close();
                    }
                }

            }
        }
        private void btnRedefinirSenha_Click(object sender, EventArgs e)
        {
            Mensagem mensagem = new Mensagem("Entre com a sua senha.", "senha", SGA.Properties.Resources.key);
            while (1 == 1)
            {
                mensagem.tbxSenha.Text = "";
                mensagem.ShowDialog();
                try
                {

                    if (mensagem.DialogResult == DialogResult.OK)
                    {
                        FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                        Funcionario funcionario = funcionarioLogado;

                        funcionario.senha = Criptografia.Encrypt(mensagem.texto);

                        funcionarioDel.Logar(funcionario);

                        break;

                    }
                    else
                    {
                        mensagem.DialogResult = DialogResult.Cancel;
                        break;
                    }
                }
                catch (Exception erro)
                {
                    mensagem.DialogResult = DialogResult.Cancel;
                    if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                    {
                        new Mensagem("Senha inválida!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                    }
                    else
                    {
                        new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                        break;
                    }

                }

            }
            if (mensagem.DialogResult == DialogResult.OK)
            {
                FuncionarioDelegate funcionarioDele = new FuncionarioDelegate();
                objFuncionario.chaveUsuario = funcionarioLogado.matricula.ToString();
                funcionarioDele.redefinirSenha(objFuncionario);
                new Mensagem("Senha redefinida!", "informacao", Resources.ok).ShowDialog();
                funcionarioLogado.alteracao = true;
                this.Close();
            }
        }
        private void btnLogar_Click(object sender, EventArgs e)
        {
            try
            {
                if (validarCampos(""))
                {
                    Funcionario objfuncionario = new Funcionario();
                    objfuncionario.matricula = Convert.ToInt16(tbxMatricula.Text);
                    objfuncionario.senha = Criptografia.Encrypt(tbxSenha.Text);

                    FuncionarioDelegate funcionarioDelegate = new FuncionarioDelegate();
                    funcionario = funcionarioDelegate.Logar(objfuncionario);

                        if (funcionario.nome == "cadastrar senha")
                        {
                            new Mensagem("Por favor!\n Cadastre uma senha!", "informacao", Resources.atencao).ShowDialog();
                            CLogin CadLogin = new CLogin(funcionario);
                            CadLogin.ShowDialog();
                            funcionario.alteracao = CadLogin.func.alteracao;
                            tbxSenha.Clear();
                        }
                        else
                        {
                            this.DialogResult = DialogResult.OK;
                            this.Close();
                        }

                }
            }
            catch (Exception erro)
            {
                Mensagem mensagem = new Mensagem(erro.Message, "informacao", Resources.erro);
                mensagem.ShowDialog();
            }
        }
        private void btnDesativar_Click(object sender, EventArgs e)
        {
            if (objFerramenta == null)
            {
                new Mensagem("Selecione uma ferramenta \n primeiro!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
            }
            else
            {
                Mensagem mensagem = new Mensagem("Deseja realmente excluir \n este registro?", "senha", SGA.Properties.Resources.key);
                while (1 == 1)
                {
                    mensagem.tbxSenha.Text = "";
                    mensagem.ShowDialog();
                    try
                    {

                        if (mensagem.DialogResult == DialogResult.OK)
                        {
                            FuncionarioDelegate funcionarioDel = new FuncionarioDelegate();

                            Funcionario funcionario = usuarioLogado;

                            funcionario.senha = Criptografia.Encrypt(mensagem.texto);

                            funcionarioDel.Logar(funcionario);

                            FerramentaDelegate ferramentaDel = new FerramentaDelegate();
                            ferramentaDel.desativaFerramenta(objFerramenta);
                            new Mensagem("Registro excluído com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                            usuarioLogado.alteracao = true;
                            break;

                        }
                        else
                        {
                            break;
                        }
                    }
                    catch (Exception erro)
                    {
                        if (erro.Message == "Matrícula e/ou Senha inválidos! \n Entre novamente com os dados!")
                        {
                            new Mensagem("Senha incorreta!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
                        }
                        else
                        {
                            new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                            break;
                        }

                    }
                }
            }
            objFerramenta = null;
            pbxFerramenta.Image = null;
            montarTela();
        }