private void setDtpickersRequisicao()
        {
            RequisicaoDelegate requisicaoDel = new RequisicaoDelegate();
            if (requisicaoDel.setDateTimerPicker() != "")
            {
                dtpickerInicio.Enabled = true;
                dtpickerFinal.Enabled = true;
                dtpickerInicio.MinDate = Convert.ToDateTime(requisicaoDel.setDateTimerPicker());
                dtpickerInicio.Value = dtpickerInicio.MinDate;
                dtpickerFinal.MinDate = dtpickerInicio.MinDate.AddDays(1);
                DateTime data = System.DateTime.Now;

                if (dtpickerInicio.MinDate.ToString("yyyy-MM-dd") == data.ToString("yyyy-MM-dd"))
                {
                    dtpickerFinal.MaxDate = dtpickerInicio.MinDate.AddDays(1);
                }
                else
                {
                    dtpickerFinal.MaxDate = data;
                }
                dtpickerFinal.Value = dtpickerFinal.MaxDate;
                dtpickerInicio.MaxDate = dtpickerFinal.MaxDate.AddDays(-1);
            }
            else
            {
                dtpickerInicio.Enabled = false;
                dtpickerFinal.Enabled = false;
            }
        }
        private void preencherListViewRequisicao()
        {
            RequisicaoDelegate requisicaoDel = new RequisicaoDelegate();
            listaRequisicoes = requisicaoDel.pesquisarRequisicao(objPesquisaRequisicao);
            listVFerramenta.Items.Clear();
            foreach (Requisicao requisicao in listaRequisicoes)
            {
                string dataBaixa = "";
                string matFuncBaixa = "";

                if (requisicao.funcionario[2].matricula != 0)
                {
                    dataBaixa = requisicao.dtBaixa.ToString();
                    matFuncBaixa =  requisicao.funcionario[2].matricula + "";
                }
                var item = new ListViewItem(new String[] { requisicao.codRequisicao + "", requisicao.ferramentas[0].codFerramenta, requisicao.ferramentas[0].nomeFerramenta,
                                          requisicao.funcionario[1].matricula + "",requisicao.dtRequisicao.ToString(),requisicao.funcionario[0].matricula + "",
                                          dataBaixa, matFuncBaixa });
                listVFerramenta.Items.Add(item);
            }
        }
        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();
                    }
                }

            }
        }