public ManterFerramenta(string tipo, Ferramenta ferr, Funcionario func)
 {
     InitializeComponent();
     ferramenta = ferr;
     tipoTela = tipo;
     usuarioLogado = func;
 }
 private void MenuItemNFerramenta_Click(object sender, EventArgs e)
 {
     Ferramenta objFerramenta = new Ferramenta();
     ManterFerramenta cadastroF = new ManterFerramenta("", objFerramenta, funcionario);
     cadastroF.ShowDialog();
     funcionario = cadastroF.usuarioLogado;
 }
 public void desativaFerramenta(Ferramenta ferramenta)
 {
     if (ferramentaDao.testFerramentaPendencia(ferramenta))
     {
         ferramentaDao.desativaFerramenta(ferramenta);
     }
     else
     {
         throw new Exception ("Ferramenta com pendência\nimpossível excluir!");
     }
 }
 public void gravarFerramenta(Ferramenta ferr)
 {
     if (ferramentaDao.testFerramentaNSerie(ferr) || ferr.nu_serie == "")
     {
         ferramentaDao.gravarFerramenta(ferr);
     }
     else
     {
         throw new System.ArgumentException("Número de série já cadastrado!\nCorrija o campo.");
     }
 }
        public void desativaFerramenta(Ferramenta ferramenta)
        {
            SqlCommand select = new SqlCommand("SELECT cod_ferramenta FROM tb_ferramenta f INNER JOIN tb_requisicao r ON(f.cod_ferramenta = r.fk_ferramenta) WHERE f.cod_ferramenta = @cod_ferramenta", Conexao.con());

            select.Parameters.AddWithValue(@"cod_ferramenta", ferramenta.codFerramenta);

            string codigo = "";

            Conexao.con().Open();

            SqlDataReader linha = select.ExecuteReader();

            if (linha.Read())
            {
                codigo = linha["cod_ferramenta"].ToString();
            }

            Conexao.con().Close();

            if (codigo == "")
            {
                SqlCommand delete = new SqlCommand("DELETE FROM tb_ferramenta WHERE cod_ferramenta = @cod_ferramenta", Conexao.con());

                delete.Parameters.AddWithValue(@"cod_ferramenta", ferramenta.codFerramenta);

                Conexao.con().Open();

                delete.ExecuteNonQuery();

                Conexao.con().Close();
                Conexao.gravarLog("Exclusao", ferramenta.chaveUsuario, "", ferramenta.codFerramenta, "");

            }
            else
            {
                SqlCommand desativa = new SqlCommand("UPDATE tb_ferramenta SET fk_situacao = 4, dt_desativacao = CURRENT_TIMESTAMP WHERE cod_ferramenta = @cod_ferramenta", Conexao.con());

                desativa.Parameters.AddWithValue(@"cod_ferramenta", ferramenta.codFerramenta);

                Conexao.con().Open();

                desativa.ExecuteNonQuery();

                Conexao.con().Close();
                Conexao.gravarLog("Desativacao", ferramenta.chaveUsuario, "", ferramenta.codFerramenta, "");

            }
        }
        public bool testFerramentaNSerie(Ferramenta ferramenta)
        {
            bool retorno = true;

            SqlCommand select = new SqlCommand("SELECT cod_ferramenta FROM tb_ferramenta f WHERE f.nu_serie = @nu_serie ", Conexao.con());

            select.Parameters.AddWithValue(@"nu_serie", ferramenta.nu_serie);

            string codigo = "";

            Conexao.con().Open();

            SqlDataReader linha = select.ExecuteReader();

            if (linha.Read())
            {
                codigo = linha["cod_ferramenta"].ToString();
            }

            Conexao.con().Close();

            if (codigo != "")
            {
                retorno = false;
            }

            return retorno;
        }
 private void btnEditar_Click(object sender, EventArgs e)
 {
     if (objFerramenta == null)
     {
         new Mensagem("Selecione uma ferramenta \n primeiro!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
     }
     else
     {
         ManterFerramenta telaDetalhes = new ManterFerramenta("Edicao", objFerramenta, usuarioLogado);
         telaDetalhes.ShowDialog();
         usuarioLogado = telaDetalhes.usuarioLogado;
         pbxFerramenta.Image = null;
         objFerramenta = null;
         montarTela();
     }
 }
        public Queue pesquisaFerramenta(Ferramenta objFerramenta)
        {
            Queue arrayFerramentas = new Queue();

            string comando = "";

            if (objFerramenta.codFerramenta + "" != "")
            {
                comando = comando + " AND fe.cod_ferramenta LIKE '%" + objFerramenta.codFerramenta + "%'";
            }
            if (objFerramenta.periodo[0] + "" != "")
            {
                if (objFerramenta.periodo[0] == "Aquisicao")
                {
                    comando = comando + " AND dt_aquisicao between '" + Convert.ToDateTime(objFerramenta.periodo[1]) + "' AND '" + Convert.ToDateTime(objFerramenta.periodo[2]) + "'";
                }
            }
            if (objFerramenta.codSituacao + "" != "")
            {
                comando = comando + " AND sf.no_situacao = '" + objFerramenta.codSituacao + "'";
            }
            if (objFerramenta.nomeFerramenta + "" != "")
            {
                comando = comando + " AND d.no_ferramenta LIKE '%" + objFerramenta.nomeFerramenta + "%'";
            }
            if (objFerramenta.codFabricante + "" != "")
            {
                comando = comando + " AND fa.no_fabricante = '" + objFerramenta.codFabricante + "'";
            }
            if (objFerramenta.codGrupo + "" != "")
            {
                comando = comando + " AND g.no_grupo = '" + objFerramenta.codGrupo + "'";
            }

            if (objFerramenta.excluivel + "" != "")
            {
                comando = comando + " AND cod_ferramenta NOT IN(SELECT cod_ferramenta FROM tb_ferramenta INNER JOIN tb_requisicao ON(cod_ferramenta = fk_ferramenta))";
            }

            string queryBase = "SELECT fe.cod_ferramenta, fe.dt_aquisicao, fe.nu_serie, fe.dt_desativacao, fe.imagem, sf.no_situacao, d.no_ferramenta," +
            " fa.no_fabricante, g.no_grupo FROM tb_ferramenta fe INNER JOIN tb_descricao_ferramenta d ON(fe.fk_descricao_ferramenta = d.nu_seq_descricao)" +
            " INNER JOIN tb_fabricante fa ON(fe.fk_fabricante = fa.nu_seq_fabricante)INNER JOIN tb_grupo_ferramenta g" +
            " ON (d.fk_grupo = g.nu_seq_grupo) INNER JOIN tb_situacao_ferramenta sf ON(fe.fk_situacao = sf.nu_seq_situacao) WHERE sf.no_situacao <> 'Desativada' ";
            SqlCommand selectFerr = new SqlCommand(queryBase + comando, Conexao.con());

            Conexao.con().Open();
            SqlDataReader linha = selectFerr.ExecuteReader();

            while (linha.Read())
            {
                Ferramenta ferramenta = new Ferramenta();
                ferramenta.codFerramenta = linha["cod_ferramenta"].ToString();
                ferramenta.nomeFerramenta = linha["no_ferramenta"].ToString();
                ferramenta.dtAquisicao = Convert.ToDateTime(linha["dt_aquisicao"]);
                if (linha["dt_desativacao"].ToString() != "")
                    ferramenta.dtDesativacao = Convert.ToDateTime(linha["dt_desativacao"]);
                ferramenta.codFabricante = linha["no_fabricante"].ToString();
                ferramenta.codGrupo = linha["no_grupo"].ToString();
                ferramenta.nu_serie = linha["nu_serie"].ToString();
                ferramenta.codSituacao = linha["no_situacao"].ToString();
                if (linha["imagem"].ToString() != "")
                    ferramenta.imagem = ConvertByteArrayToImage((Byte[])linha["imagem"]);

                arrayFerramentas.Enqueue(ferramenta);
            }

            Conexao.con().Close();
            return arrayFerramentas;
        }
        private void btnGerarRelatorio_Click(object sender, EventArgs e)
        {
            Funcionario funcionario = new Funcionario();
            Ferramenta ferramenta = new Ferramenta();
            Requisicao requisicao = new Requisicao();

            if (rbtnFuncionario.Checked)
            {

                if (rbtnLista.Checked) //lista funcionario
                {
                    funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                    funcionario.no_permissao = cbxPermissao.SelectedItem.ToString();
                    funcionario.periodo[0] = dtpickekAdmissaoInicio.Value.ToString();
                    funcionario.periodo[1] = dtpickekAdmissaoFinal.Value.ToString();

                    TelaRelatorio objRelatorio = new TelaRelatorio();
                    objRelatorio.ListaFuncionario(funcionario, "lista");
                    objRelatorio.ShowDialog();
                }
                else //log funcionario
                {
                    if (String.IsNullOrWhiteSpace(tbxMatricula.Text)) // Caso Matricula vazia
                    {
                        funcionario.matricula = funcionario.matricula = 0;
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        funcionario.no_permissao = cbxPermissao.SelectedItem.ToString();
                        funcionario.periodo[0] = dtpickekAdmissaoInicio.Value.ToString();
                        funcionario.periodo[1] = dtpickekAdmissaoFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaFuncionario(funcionario, "log");
                        objRelatorio.ShowDialog();
                    }
                    else // Caso matricula preenchida!
                    {
                        funcionario.matricula = Convert.ToInt16(tbxMatricula.Text);
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        funcionario.no_permissao = cbxPermissao.SelectedItem.ToString();
                        funcionario.periodo[0] = dtpickekAdmissaoInicio.Value.ToString();
                        funcionario.periodo[1] = dtpickekAdmissaoFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaFuncionario(funcionario,"log");
                        objRelatorio.ShowDialog();
                    }

                }
            }
            else if (rbtnFerramenta.Checked)
            {

                if (rbtnLista.Checked)//lista Ferramenta
                {
                    ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                    ferramenta.codSituacao = cbxSituacao.SelectedItem.ToString();
                    ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                    ferramenta.periodo[0] = dtpickerInicioFerramenta.Value.ToString();
                    ferramenta.periodo[1] = dtpickerFinalFerramenta.Value.ToString();

                    TelaRelatorio objRelatorio = new TelaRelatorio();
                    objRelatorio.ListaFerramentas(ferramenta, funcionario, requisicao, "lista");
                    objRelatorio.ShowDialog();

                }
                else if (rbtnEventosSistema.Checked)//log Ferramenta
                {
                    ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                    ferramenta.codSituacao = cbxSituacao.SelectedItem.ToString();
                    ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                    ferramenta.periodo[0] = dtpickerInicioFerramenta.Value.ToString();
                    ferramenta.periodo[1] = dtpickerFinalFerramenta.Value.ToString();
                    ferramenta.codFerramenta = tbxCodigo.Text;

                    TelaRelatorio objRelatorio = new TelaRelatorio();
                    objRelatorio.ListaFerramentas(ferramenta, funcionario, requisicao, "log");
                    objRelatorio.ShowDialog();

                }
                else // Mais Requisitada
                {
                    if (String.IsNullOrWhiteSpace(tbxMatricula.Text))
                    {
                        funcionario.matricula = 0;
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaFerramentas(ferramenta, funcionario, requisicao, "Mais requisitada");
                        objRelatorio.ShowDialog();
                    }
                    else
                    {
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.matricula = Convert.ToInt16(tbxMatricula.Text);
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaFerramentas(ferramenta, funcionario, requisicao, "Mais requisitada");
                        objRelatorio.ShowDialog();
                    }

                }
            }
            else // Requisição
            {
                requisicao.situacao = cbxSituacaoRequisicao.SelectedItem.ToString();
                if (requisicao.situacao == "Abertas")
                {
                    if (String.IsNullOrWhiteSpace(tbxMatricula.Text))
                    {
                        funcionario.matricula = 0;
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFerramenta = tbxCodigo.Text;
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaRequisicao(ferramenta, funcionario, requisicao, requisicao.situacao);
                        objRelatorio.ShowDialog();
                    }
                    else
                    {
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFerramenta = tbxCodigo.Text;
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.matricula = Convert.ToInt16(tbxMatricula.Text);
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaRequisicao(ferramenta, funcionario, requisicao, requisicao.situacao);
                        objRelatorio.ShowDialog();
                    }
                }
                else
                {
                    if (String.IsNullOrWhiteSpace(tbxMatricula.Text))
                    {
                        funcionario.matricula = 0;
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFerramenta = tbxCodigo.Text;
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaRequisicao(ferramenta, funcionario, requisicao, requisicao.situacao);
                        objRelatorio.ShowDialog();
                    }
                    else
                    {
                        ferramenta.codGrupo = cbxGrupo.SelectedItem.ToString();
                        ferramenta.codFerramenta = tbxCodigo.Text;
                        ferramenta.codFabricante = cbxFabricante.SelectedItem.ToString();
                        funcionario.matricula = Convert.ToInt16(tbxMatricula.Text);
                        funcionario.no_funcao = cbxFuncao.SelectedItem.ToString();
                        requisicao.periodo[0] = dtpickerInicio.Value.ToString();
                        requisicao.periodo[1] = dtpickerFinal.Value.ToString();

                        TelaRelatorio objRelatorio = new TelaRelatorio();
                        objRelatorio.ListaRequisicao(ferramenta, funcionario, requisicao, requisicao.situacao);
                        objRelatorio.ShowDialog();
                    }
                }

            }
        }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (tipoTela == "Detalhes")
            {
                tipoTela = "Edicao";
                montarTela();
            }else{
                if (tbxNome.Text == "")
                {
                    new Mensagem("Campos obrigatórios em branco! \n Por favor preencha!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
                }
                else
                {
                    if (tipoTela == "Edicao")
                        this.ferramenta.codFerramenta = this.tbxCodigo.Text;
                    this.ferramenta.nomeFerramenta = this.tbxNome.Text;
                    this.ferramenta.quantidade = Convert.ToInt32(this.numUDQuant.Value);
                    this.ferramenta.imagem = pbxFerramenta.Image;
                    this.ferramenta.codGrupo = this.cbxGrupo.SelectedItem.ToString();
                    this.ferramenta.codFabricante = this.cbxFabricante.SelectedItem.ToString();
                    this.ferramenta.nu_serie = tbxNuSerie.Text;
                    this.ferramenta.codSituacao = cbxSituacao.SelectedItem.ToString();

                    this.ferramenta.chaveUsuario = usuarioLogado.matricula.ToString();

                    try
                    {
                        ferramentaDel.gravarFerramenta(ferramenta);
                        if (tipoTela == "Edicao")
                        {
                            new Mensagem("Registro alterado com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                            this.Close();
                            usuarioLogado.alteracao = true;
                        }
                        else
                        {
                            new Mensagem("Registro salvo com sucesso!", "informacao", SGA.Properties.Resources.ok).ShowDialog();
                            usuarioLogado.alteracao = true;
                            ferramenta = new Ferramenta();
                            montarTela();
                        }

                    }
                    catch (Exception erro)
                    {
                        new Mensagem(erro.Message, "informacao", SGA.Properties.Resources.erro).ShowDialog();
                    }
                }
            }
        }
 private void listVFerramenta_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listVFerramenta.SelectedItems.Count != 0)
     {
         if (listVFerramenta.SelectedItems[0].Selected)
         {
             foreach (Ferramenta ferr in arrayFerramentas)
             {
                 if (ferr.codFerramenta == listVFerramenta.SelectedItems[0].Text)
                 {
                     objFerramentaSelecionada = ferr;
                     pbxFerramenta.Image = ferr.imagem;
                     break;
                 }
             }
         }
     }
 }
        public void ListaRequisicao(Ferramenta ferramenta, Funcionario funcionario, Requisicao requisicao, string tipo)
        {
            if (tipo == "Abertas") // Requisições abertas
            {
                if (funcionario.matricula == 0) // Matricula vazia
                {

                    RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter adaptador = new RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter();
                    RequisiçãoDataSet.ListaDeRequisiçãoDataTable tabela = new RequisiçãoDataSet.ListaDeRequisiçãoDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByAbertas(tabela, "%" + ferramenta.codFerramenta + "%", "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%", "%" + funcionario.no_funcao + "%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]), "%%");

                    ReportDataSource NovaFonteDados = new ReportDataSource("GeraRelatorioRequisicao", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.RelatorioRequisição.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }
                else // Matricula preenchida
                {
                    RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter adaptador = new RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter();
                    RequisiçãoDataSet.ListaDeRequisiçãoDataTable tabela = new RequisiçãoDataSet.ListaDeRequisiçãoDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByAbertas(tabela, "%" + ferramenta.codFerramenta + "%", "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%", "%" + funcionario.no_funcao + "%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]), "%" + funcionario.matricula + "%");

                    ReportDataSource NovaFonteDados = new ReportDataSource("GeraRelatorioRequisicao", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.RelatorioRequisição.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }
            }
            else // Requisições baixadas
            {
                if (funcionario.matricula == 0) // Matricula vazia!
                {

                    RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter adaptador = new RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter();
                    RequisiçãoDataSet.ListaDeRequisiçãoDataTable tabela = new RequisiçãoDataSet.ListaDeRequisiçãoDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByBaixadas(tabela, "%" + ferramenta.codFerramenta + "%", "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%", "%" + funcionario.no_funcao + "%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]), "%%");

                    ReportDataSource NovaFonteDados = new ReportDataSource("GeraRelatorioRequisicao", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.RelatorioRequisição.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }
                else // Matricula preenchida
                {
                    RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter adaptador = new RequisiçãoDataSetTableAdapters.ListaDeRequisiçãoTableAdapter();
                    RequisiçãoDataSet.ListaDeRequisiçãoDataTable tabela = new RequisiçãoDataSet.ListaDeRequisiçãoDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByBaixadas(tabela, "%" + ferramenta.codFerramenta + "%", "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%", "%" + funcionario.no_funcao + "%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]), "%" + funcionario.matricula + "%");

                    ReportDataSource NovaFonteDados = new ReportDataSource("GeraRelatorioRequisicao", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.RelatorioRequisição.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }
            }
        }
        public List<Requisicao> pesquisarRequisicao(Requisicao objRequisicao)
        {
            string condicoes = "";

            if(objRequisicao.codRequisicao != 0)
            {
                condicoes += " AND nu_seq_requisicao LIKE('%" + objRequisicao.codRequisicao + "%')";
            }

            if (objRequisicao.ferramentas[0].codFerramenta != "" )
            {
                condicoes += " AND fk_ferramenta LIKE('%" + objRequisicao.ferramentas[0].codFerramenta + "%')";
            }

            if (objRequisicao.funcionario[0].matricula != 0)
            {
                condicoes += " AND fk_func_saida_ferr LIKE('%" + objRequisicao.funcionario[0].matricula + "%')";
            }

            if (objRequisicao.funcionario[1].matricula != 0)
            {
                condicoes += " AND fk_func_baixa_ferr LIKE('%" + objRequisicao.funcionario[1].matricula + "%')";
            }

            if (objRequisicao.funcionario[2].matricula != 0)
            {
                condicoes += " AND fk_func_requisitante LIKE('%" + objRequisicao.funcionario[2].matricula + "%')";
            }

            if (objRequisicao.situacao + "" != "")
            {
                if (objRequisicao.situacao == "Abertas")
                {
                    condicoes += " AND dt_baixa_requisicao IS NULL";
                }
                else
                {
                    condicoes += " AND dt_baixa_requisicao IS NOT NULL";
                }
            }

            if (objRequisicao.tipoPeriodo + "" != "")
            {
                if (objRequisicao.tipoPeriodo == "Baixa")
                {
                    condicoes += " AND dt_baixa_requisicao between '" + objRequisicao.periodo[0] + "' AND '" + objRequisicao.periodo[1] + "'";
                }
                else
                {
                    condicoes += " AND dt_saida_requisicao between '" + objRequisicao.periodo[0] + "' AND '" + objRequisicao.periodo[1] + "'";
                }
            }

            List<Requisicao> listaRequisicao = new List<Requisicao>();
            Requisicao requisicao;
            Ferramenta ferramenta = new Ferramenta();
            Funcionario funcionario;

            SqlCommand selectRequisicao = new SqlCommand("SELECT nu_seq_requisicao, fk_ferramenta,gr.no_grupo, fa.no_fabricante, de.no_ferramenta, f.imagem , dt_saida_requisicao, dt_baixa_requisicao , fk_func_requisitante" +
              ",(SELECT no_funcionario FROM tb_funcionario WHERE mat_funcionario = fk_func_requisitante) as no_func_requisitante" +
              ",(SELECT no_funcao FROM tb_funcao INNER JOIN tb_funcionario ON(fk_funcao = nu_seq_funcao) WHERE mat_funcionario = fk_func_requisitante) as no_funcao_req " +
              ",fk_func_saida_ferr " +
              ",(SELECT no_funcionario FROM tb_funcionario WHERE mat_funcionario = fk_func_saida_ferr) as no_func_saida" +
              ",(SELECT no_funcao FROM tb_funcao INNER JOIN tb_funcionario ON(fk_funcao = nu_seq_funcao) WHERE mat_funcionario = fk_func_saida_ferr) as no_funcao_saida " +
              ",fk_func_baixa_ferr " +
              ",(SELECT no_funcionario FROM tb_funcionario WHERE mat_funcionario = fk_func_baixa_ferr) as no_func_baixa" +
              ",(SELECT no_funcao FROM tb_funcao INNER JOIN tb_funcionario ON(fk_funcao = nu_seq_funcao) WHERE mat_funcionario = fk_func_baixa_ferr) as no_funcao_baixa " +
              "      FROM [sga].[dbo].[tb_requisicao] r " +
              "     INNER JOIN tb_ferramenta f  ON(fk_ferramenta = f.cod_ferramenta)  " +
              "     INNER JOIN tb_fabricante fa ON(fk_fabricante = fa.nu_seq_fabricante)" +
              "      INNER jOIN tb_descricao_ferramenta de ON(fk_descricao_ferramenta = de.nu_seq_descricao) " +
              "     INNER JOIN tb_grupo_ferramenta gr ON(fk_grupo = nu_seq_grupo)" +
              " WHERE 1 = 1" + condicoes, Conexao.con());

            Conexao.con().Open();

            SqlDataReader linha = selectRequisicao.ExecuteReader();
            while (linha.Read())
            {
                requisicao = new Requisicao();
                ferramenta = new Ferramenta();

                requisicao.codRequisicao = Convert.ToInt32(linha["nu_seq_requisicao"]);
                if (linha["dt_baixa_requisicao"].ToString() != "")
                    requisicao.dtBaixa = Convert.ToDateTime(linha["dt_baixa_requisicao"]);
                requisicao.dtRequisicao = Convert.ToDateTime(linha["dt_saida_requisicao"]);

                ferramenta.codFerramenta = linha["fk_ferramenta"].ToString();
                ferramenta.nomeFerramenta = linha["no_ferramenta"].ToString();
                if (linha["imagem"].ToString() != "")
                    ferramenta.imagem = ConvertByteArrayToImage((Byte[])linha["imagem"]);
                requisicao.ferramentas.Add(ferramenta);
                ferramenta.codFabricante = linha["no_fabricante"].ToString();
                ferramenta.codGrupo = linha["no_grupo"].ToString();

                funcionario = new Funcionario();
                funcionario.matricula = Convert.ToInt32(linha["fk_func_saida_ferr"]);
                funcionario.nome = linha["no_func_saida"].ToString();
                funcionario.no_funcao = linha["no_funcao_saida"].ToString();
                requisicao.funcionario.Add(funcionario);

                funcionario = new Funcionario();
                funcionario.matricula = Convert.ToInt32(linha["fk_func_requisitante"]);
                funcionario.nome = linha["no_func_requisitante"].ToString();
                funcionario.no_funcao = linha["no_funcao_req"].ToString();
                requisicao.funcionario.Add(funcionario);

                funcionario = new Funcionario();
                if (linha["fk_func_baixa_ferr"].ToString() != "" )
                funcionario.matricula = Convert.ToInt32(linha["fk_func_baixa_ferr"]);
                funcionario.nome = linha["no_func_baixa"].ToString();
                funcionario.no_funcao = linha["no_funcao_baixa"].ToString();
                requisicao.funcionario.Add(funcionario);

                listaRequisicao.Add(requisicao);
            }

            Conexao.con().Close();

            return listaRequisicao;
        }
 private void btnRemoverFerr_Click(object sender, EventArgs e)
 {
     if (objFerramentaSelecionada == null)
     {
         new Mensagem("Selecione uma ferramenta \n primeiro!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
     }
     else if (arrayFerramentas.Count <= 0)
     {
         new Mensagem("Não existe ferramentas na requisição!", "informacao", SGA.Properties.Resources.erro).ShowDialog();
     }
     else
     {
         foreach (Ferramenta ferr in arrayFerramentas)
         {
             if (objFerramentaSelecionada.codFerramenta == ferr.codFerramenta)
             {
                 arrayFerramentas.Remove(ferr);
                 break;
             }
             else
             {
                 continue;
             }
         }
         preencherListView();
         objFerramentaSelecionada = null;
     }
 }
 public void gravarFerramenta(Ferramenta ferr)
 {
     ferramentaAS.gravarFerramenta(ferr);
 }
 public void desativaFerramenta(Ferramenta ferramenta)
 {
     ferramentaAS.desativaFerramenta(ferramenta);
 }
 private void btnNFerramenta_Click(object sender, EventArgs e)
 {
     if (tipoTela == "pesquisa")
     {
         Ferramenta ferr = new Ferramenta();
         ManterFerramenta novaFerr = new ManterFerramenta("cadastro", ferr, usuarioLogado);
         novaFerr.ShowDialog();
         usuarioLogado = novaFerr.usuarioLogado;
         pbxFerramenta.Image = null;
     }
     else
     {
         adicionarlistaFerr();
         ferramentasSelecionadas = new List<Ferramenta>();
         if (arrayFerramentasRequsicao.Count > 0)
         {
             this.DialogResult = DialogResult.OK;
         }
         else
         {
             new Mensagem("Selecione ao menos\n uma ferramenta para prosseguir!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
             preencherListView();
         }
     }
     montarTela();
 }
        public bool testFerramentaPendencia(Ferramenta ferramenta)
        {
            bool retorno = true;

            SqlCommand select = new SqlCommand("SELECT cod_ferramenta FROM tb_ferramenta f INNER JOIN tb_requisicao r ON(f.cod_ferramenta = r.fk_ferramenta) WHERE f.cod_ferramenta = @cod_ferramenta AND fk_func_baixa_ferr is NULL", Conexao.con());

            select.Parameters.AddWithValue(@"cod_ferramenta", ferramenta.codFerramenta);

            string codigo = "";

            Conexao.con().Open();

            SqlDataReader linha = select.ExecuteReader();

            if (linha.Read())
            {
                codigo = linha["cod_ferramenta"].ToString();
            }

            Conexao.con().Close();

            if (codigo != "")
            {
                retorno = false;
            }

            return retorno;
        }
 public void gravarFerramenta(Ferramenta ferr)
 {
     ferramentaFacade.gravarFerramenta(ferr);
 }
        public void gravarFerramenta(Ferramenta ferramenta)
        {
            int codDesc = 0;

            for (int i = 0; i < 2; i++)
            {
                SqlCommand selecDesc = new SqlCommand("SELECT nu_seq_descricao from tb_descricao_ferramenta WHERE no_ferramenta = @noFerramenta", Conexao.con());

                selecDesc.Parameters.AddWithValue("@noFerramenta", ferramenta.nomeFerramenta);

                Conexao.con().Open();

                SqlDataReader linhaCodDesc = selecDesc.ExecuteReader();

                while (linhaCodDesc.Read())
                {
                    codDesc = Convert.ToInt32(linhaCodDesc["nu_seq_descricao"]);
                }

                Conexao.con().Close();

                if (codDesc == 0)
                {
                    SqlCommand insertDesc = new SqlCommand("INSERT INTO tb_descricao_ferramenta (no_ferramenta, fk_grupo) VALUES (@noFerramenta, @grupo)", Conexao.con());
                    SqlCommand selectGrupo = new SqlCommand("SELECT nu_seq_grupo FROM tb_grupo_ferramenta WHERE no_grupo = @grupo", Conexao.con());

                    selectGrupo.Parameters.AddWithValue("@grupo", ferramenta.codGrupo);
                    int codGrupo = 0;

                    Conexao.con().Open();

                    SqlDataReader linhaG = selectGrupo.ExecuteReader();

                    while (linhaG.Read())
                    {
                        codGrupo = Convert.ToInt32(linhaG["nu_seq_grupo"]);
                    }

                    Conexao.con().Close();

                    insertDesc.Parameters.AddWithValue("@noFerramenta", ferramenta.nomeFerramenta);
                    insertDesc.Parameters.AddWithValue("@grupo", codGrupo);

                    Conexao.con().Open();

                    insertDesc.ExecuteNonQuery();

                    Conexao.con().Close();

                }
                else
                {
                    break;
                }
            }

            if (ferramenta.codFerramenta + "" != "")
            {
                SqlCommand update = new SqlCommand("UPDATE tb_ferramenta SET fk_descricao_ferramenta = @fk_descricao ,fk_fabricante = (SELECT nu_seq_fabricante FROM tb_fabricante WHERE no_fabricante = @fabricante),imagem = @imagem" +
                ",fk_situacao = (SELECT nu_seq_situacao FROM tb_situacao_ferramenta WHERE no_situacao = @situacao), nu_serie = @nu_serie WHERE cod_ferramenta = @cod_ferramenta", Conexao.con());

                SqlCommand uodateCategoria = new SqlCommand("UPDATE tb_descricao_ferramenta SET [fk_grupo] = (SELECT [nu_seq_grupo]FROM tb_grupo_ferramenta "+
                "WHERE no_grupo = @no_grupo) WHERE nu_seq_descricao= @nu_seq_descricao", Conexao.con());

                uodateCategoria.Parameters.AddWithValue(@"no_grupo", ferramenta.codGrupo);
                uodateCategoria.Parameters.AddWithValue(@"nu_seq_descricao", codDesc);

                update.Parameters.AddWithValue("@cod_ferramenta", ferramenta.codFerramenta);
                update.Parameters.AddWithValue("@fk_descricao", codDesc);
                update.Parameters.AddWithValue("@fabricante", ferramenta.codFabricante);

                update.Parameters.AddWithValue("@nu_serie", ferramenta.nu_serie);

                try
                {
                    string teste = ferramenta.imagem.ToString();
                    update.Parameters.AddWithValue("@imagem", ConvertImageToByteArray(ferramenta.imagem, System.Drawing.Imaging.ImageFormat.Jpeg));
                }
                catch
                {
                    update.Parameters.AddWithValue("@imagem", ConvertImageToByteArray(SGA.Properties.Resources.no_image, System.Drawing.Imaging.ImageFormat.Png));
                }
                update.Parameters.AddWithValue("@situacao", ferramenta.codSituacao);
                Conexao.con().Open();

                uodateCategoria.ExecuteNonQuery();
                update.ExecuteNonQuery();

                Conexao.con().Close();
                Conexao.gravarLog("Atualização", ferramenta.chaveUsuario, "", ferramenta.codFerramenta, "");
            }
            else
            {
                for (int i = 0; i < ferramenta.quantidade; i++)
                {
                    SqlCommand insertFerr = new SqlCommand("INSERT INTO tb_ferramenta(cod_ferramenta, dt_aquisicao, dt_desativacao,fk_descricao_ferramenta, fk_fabricante, imagem, nu_serie, fk_situacao)" +
                    "VALUES ( @codigo, current_timestamp, null, @codDesc, (SELECT nu_seq_fabricante FROM tb_fabricante WHERE no_fabricante = @fabricante), @imagem, @nuserie, @situacao)", Conexao.con());

                    ferramenta.codFerramenta = geraCodigo();
                    insertFerr.Parameters.AddWithValue("@codigo", ferramenta.codFerramenta);
                    insertFerr.Parameters.AddWithValue("@codDesc", codDesc);
                    insertFerr.Parameters.AddWithValue("@fabricante", ferramenta.codFabricante);
                    insertFerr.Parameters.AddWithValue("@nuserie", ferramenta.nu_serie);
                    try
                    {
                        string teste = ferramenta.imagem.ToString();
                        insertFerr.Parameters.AddWithValue("@imagem", ConvertImageToByteArray(ferramenta.imagem, System.Drawing.Imaging.ImageFormat.Jpeg));
                    }
                    catch
                    {
                        insertFerr.Parameters.AddWithValue("@imagem", ConvertImageToByteArray(SGA.Properties.Resources.no_image, System.Drawing.Imaging.ImageFormat.Png));
                    }
                    insertFerr.Parameters.AddWithValue("@situacao", 1);

                    Conexao.con().Open();

                    insertFerr.ExecuteNonQuery();

                    Conexao.con().Close();
                    Conexao.gravarLog("Cadastro", ferramenta.chaveUsuario, "", ferramenta.codFerramenta, "");

                }

            }
        }
        private void btnDetalhes_Click_1(object sender, EventArgs e)
        {
            if (tipoTela == "pesquisa")
            {
                if (objFerramenta == null)
                {
                    new Mensagem("Selecione uma ferramenta \n primeiro!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
                }
                else
                {
                    ManterFerramenta telaDetalhes = new ManterFerramenta("Detalhes", objFerramenta, usuarioLogado);
                    telaDetalhes.ShowDialog();
                    usuarioLogado = telaDetalhes.usuarioLogado;
                    pbxFerramenta.Image = null;
                    objFerramenta = null;
                    montarTela();
                }
            }
            else
            {
                tipoLista = "selecionadas";
                adicionarlistaFerr();
                ferramentasSelecionadas = new List<Ferramenta>();
                if (arrayFerramentasRequsicao.Count > 0)
                {
                    listVFerramenta.Items.Clear();
                    foreach (Ferramenta ferr in arrayFerramentasRequsicao)
                    {
                        var item = new ListViewItem(new[] { ferr.codFerramenta, ferr.nomeFerramenta, ferr.codFabricante, ferr.codGrupo });
                        item.Checked = true;
                        listVFerramenta.Items.Add(item);
                    }
                }
                else
                {
                    new Mensagem("Nenhuma ferramenta selecionada!", "informacao", SGA.Properties.Resources.atencao).ShowDialog();
                    preencherListView();
                }

            }
        }
        public void ListaFerramentas(Ferramenta ferramenta, Funcionario funcionario, Requisicao requisicao, string tipo)
        {
            if (tipo == "lista")
            {
                FerramentaDataSetTableAdapters.ListaDeFerramentasTableAdapter adaptador = new FerramentaDataSetTableAdapters.ListaDeFerramentasTableAdapter();
                FerramentaDataSet.ListaDeFerramentasDataTable tabela = new FerramentaDataSet.ListaDeFerramentasDataTable();

                adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                adaptador.FillByDtiaDtfaFabGruSit(tabela, "%" + ferramenta.codSituacao + "%", Convert.ToDateTime(ferramenta.periodo[0]), Convert.ToDateTime(ferramenta.periodo[1]), "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%");

                ReportDataSource NovaFonteDados = new ReportDataSource("GeraRelatorioFerramenta", (DataTable)tabela);
                reportViewer1.LocalReport.DataSources.Clear();
                reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.ListaDeFerramentas.rdlc";
                reportViewer1.LocalReport.Refresh();
                reportViewer1.RefreshReport();
            }
            else if (tipo == "log")
            {
                LogOperacaoFerramentaTableAdapters.ListaOperacaoFerramentaTableAdapter adaptador = new LogOperacaoFerramentaTableAdapters.ListaOperacaoFerramentaTableAdapter();
                LogOperacaoFerramenta.ListaOperacaoFerramentaDataTable tabela = new LogOperacaoFerramenta.ListaOperacaoFerramentaDataTable();

                adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                adaptador.FillBySitCodFabCatDtInDtOut(tabela, "%" + ferramenta.codSituacao + "%", "%" + ferramenta.codFerramenta + "%", "%" + ferramenta.codFabricante + "%", "%" + ferramenta.codGrupo + "%", Convert.ToDateTime(ferramenta.periodo[0]), Convert.ToDateTime(ferramenta.periodo[1]));

                ReportDataSource NovaFonteDados = new ReportDataSource("LogFerramentaDataSet", (DataTable)tabela);
                reportViewer1.LocalReport.DataSources.Clear();
                reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.LogFerramenta.rdlc";
                reportViewer1.LocalReport.Refresh();
                reportViewer1.RefreshReport();

            }
            else
            {
                if (funcionario.matricula == 0)
                {
                    FerramentaMRequisitadaDataSetTableAdapters.FerramentasMRequisitadasTableAdapter adaptador = new FerramentaMRequisitadaDataSetTableAdapters.FerramentasMRequisitadasTableAdapter();
                    FerramentaMRequisitadaDataSet.FerramentasMRequisitadasDataTable tabela = new FerramentaMRequisitadaDataSet.FerramentasMRequisitadasDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByCatFabMatFunDtInDtOut(tabela, "%" + ferramenta.codGrupo + "%", "%" + ferramenta.codFabricante + "%", "%%", "%" + funcionario.no_funcao + "%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]));

                    ReportDataSource NovaFonteDados = new ReportDataSource("RequisitadasDataSet", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.FerramentaMRequisitada.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }
                else
                {
                    FerramentaMRequisitadaDataSetTableAdapters.FerramentasMRequisitadasTableAdapter adaptador = new FerramentaMRequisitadaDataSetTableAdapters.FerramentasMRequisitadasTableAdapter();
                    FerramentaMRequisitadaDataSet.FerramentasMRequisitadasDataTable tabela = new FerramentaMRequisitadaDataSet.FerramentasMRequisitadasDataTable();

                    adaptador.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["sga"].ConnectionString;
                    adaptador.FillByCatFabMatFunDtInDtOut(tabela, "%" + ferramenta.codGrupo + "%", "%" + ferramenta.codFabricante + "%", "%" + funcionario.matricula.ToString() + "%", "%%", Convert.ToDateTime(requisicao.periodo[0]), Convert.ToDateTime(requisicao.periodo[1]));

                    ReportDataSource NovaFonteDados = new ReportDataSource("RequisitadasDataSet", (DataTable)tabela);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(NovaFonteDados);
                    reportViewer1.LocalReport.ReportEmbeddedResource = "SGA.Telas.FerramentaMRequisitada.rdlc";
                    reportViewer1.LocalReport.Refresh();
                    reportViewer1.RefreshReport();
                }

            }
        }
 public Queue pesquisaFerramenta(Ferramenta ferr)
 {
     return ferramentaDao.pesquisaFerramenta(ferr);
 }
 public void desativaFerramenta(Ferramenta ferramenta)
 {
     ferramentaFacade.desativaFerramenta(ferramenta);
 }
 private void listVFerramenta_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listVFerramenta.SelectedItems.Count != 0)
     {
         if (listVFerramenta.SelectedItems[0].Selected)
         {
             foreach (Ferramenta ferr in ferramentas)
             {
                 if (ferr.codFerramenta == listVFerramenta.SelectedItems[0].Text)
                 {
                     objFerramenta = ferr;
                     ferramentaEmUsoAcao();
                     objFerramenta.chaveUsuario = usuarioLogado.matricula.ToString(); ;
                     pbxFerramenta.Image = ferr.imagem;
                     break;
                 }
             }
         }
     }
 }
 public Queue pesquisaFerramenta(Ferramenta ferr)
 {
     return ferramentaFacade.pesquisaFerramenta(ferr);
 }
        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();
        }