예제 #1
0
        private void toValidPath(List<INFODocumentoDigital> listDocumentoDigital)
        {
            List<INFODocumentoDigital> listDDInvalidPath = null;
            DAOFix dao = null;
            StringBuilder query = null;
            try
            {
                listDDInvalidPath = new List<INFODocumentoDigital>();

                foreach (var documentoDigital in listDocumentoDigital)
                {

                    if (documentoDigital.NomeDiretorioArquivo.StartsWith("\\\\\\\\\\\\\\\\Rjsigpadigital\\\\\\\\sigpa-digital-arquivos") )
                        listDDInvalidPath.Add(documentoDigital);
                }

                if (MessageBox.Show("Foram encontrados " + listDDInvalidPath.Count.ToString() + " registros invalidos") == System.Windows.Forms.DialogResult.OK) {

                    dao = new DAOFix();
                    INFODocumentoDigital infodd = null;

                    query = new StringBuilder();

                    query.Append("select * from documentodigital where id_documentodigital in ( ".ToUpper() );

                    foreach (var ddinvalid in listDDInvalidPath)
                    {
                        //Fix primeiro nivel dos registros
                        String nomediretorio = ddinvalid.NomeDiretorioArquivo.Replace("\\\\\\\\\\\\\\\\", "\\\\");

                        String validDir = nomediretorio.Replace("\\\\\\\\", "\\");

                       infodd = new INFODocumentoDigital();

                       infodd.IdDocumentoDigital = ddinvalid.IdDocumentoDigital;
                       infodd.NomeDiretorioArquivo = validDir;

                       if (dao.updateValidPath(infodd)){
                           query.Append(infodd.IdDocumentoDigital).Append(", ");
                           //MessageBox.Show(" ID: " + infodd.IdDocumentoDigital + " Atualizado.");
                       }

                       infodd = null;

                    }

                    query.Append(")");

                    textBox1.Text = query.ToString();
                }

            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        /// <summary>
        /// Realizo a alteração do documento digitalizado
        /// </summary>
        /// <param name="pObjInfoDocumentoDigital"></param>
        /// <param name="strPathTmp"></param>
        /// <returns></returns>
        public bool boAtualizarDocumentosDigitais(INFODocumentoDigital pObjInfoDocumentoDigital, string strPathTmp)
        {
            DAODocumentoDigital objDaoDocumentoDigital = null;
            DAOHistorico objDaoHistorico = null;
            bool returnValue = false;
            try
            {
                boAbrirTrasacao();

                //Excluir documento lógicamente do banco de dados
                objDaoDocumentoDigital = new DAODocumentoDigital();
                if (objDaoDocumentoDigital.dbAlterarDocumento(pObjInfoDocumentoDigital, pTrans))
                {
                    //Registrar histórico para exclusão
                    objDaoHistorico = new DAOHistorico();
                    if (objDaoHistorico.dbInserirHistorico(boMontarHistorico("ALTERAÇÃO DO DOCUMENTO: " + pObjInfoDocumentoDigital.NomeArquivo +
                                                       " NO DIRETORIO: " + pObjInfoDocumentoDigital.NomeDiretorioArquivo + ".",
                                                       pObjInfoDocumentoDigital.IdDocumentoDigital),
                                                       pTrans))
                    {
                        //Altera o arquivo Fisicamente do Disco
                        string strFile = pObjInfoDocumentoDigital.NomeDiretorioArquivo + pObjInfoDocumentoDigital.NomeArquivo;
                        if (System.IO.File.Exists(strFile)) System.IO.File.Delete(strFile);

                        string PdfTemp = strPathTmp + pObjInfoDocumentoDigital.NomeArquivo;
                        System.IO.File.Move(PdfTemp , strFile );

                        //Chamar o componente para digitalização

                        boCommit();
                        returnValue = true;
                    }
                }
                else boRollBack();
            }
            catch (Exception ex)
            {
                boRollBack();
                throw ex;
            }
            finally
            {
                objDaoDocumentoDigital = null;
                objDaoHistorico = null;
            }
            return returnValue;
        }
        public long dbInserirDocumentos(INFODocumentoDigital pObjDocumentoDigital, MySqlTransaction pObjTrans)
        {
            StringBuilder strSql = new StringBuilder();
            MySqlDataReader objDr = null;
            long lastId = 0;
            try
            {
                strSql.Append("INSERT INTO DOCUMENTODIGITAL (NM_ARQUIVO, NM_DIRETORIOARQUIVO, ID_DOCUMENTO, ID_PROCESSO) ");
                strSql.Append("VALUES (" );
                strSql.Append("'" + pObjDocumentoDigital.NomeArquivo + "',");
                strSql.Append("'" + pObjDocumentoDigital.NomeDiretorioArquivo.Replace("\\","\\\\" )+ "',");
                strSql.Append( pObjDocumentoDigital.IdDocumento  + ",");
                strSql.Append(pObjDocumentoDigital.IdProcesso + ")");

                if (dbExecutarQuery(strSql.ToString(), pObjTrans) > 0)
                {
                    strSql.Remove(0, strSql.Length);
                    strSql.Append("SELECT LAST_INSERT_ID()");

                    objDr = dbObterRegistros(null, strSql.ToString(), pObjTrans);

                    if (objDr.HasRows) {
                        if (objDr.Read())
                        {
                            lastId = (long)objDr[0];
                        }
                    }
                }
                return lastId;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                strSql = null;
                if (!objDr.IsClosed)
                {
                    objDr.Close();
                    objDr.Dispose();
                }
                objDr=null;
            }
        }
        public bool dbExcluirDocumento(INFODocumentoDigital pObjDocumentoDigital, MySqlTransaction pObjTrans)
        {
            StringBuilder strSql = new StringBuilder();

            try
            {
                strSql.Append("UPDATE DOCUMENTODIGITAL  SET FL_EXCLUIDO = 1 WHERE ID_DOCUMENTODIGITAL = " + pObjDocumentoDigital.IdDocumentoDigital.ToString());

                if (dbExecutarQuery(strSql.ToString(), pObjTrans) > 0) return true; else return false;

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally{
                strSql = null;
            }
        }
예제 #5
0
        public bool updateValidPath(INFODocumentoDigital pObjDocumentoDigital)
        {
            StringBuilder strSql = new StringBuilder();
               MySqlConnection objConn = null;
               MySqlCommand objCmd = null;

               try
               {
                   strSql.Append(" UPDATE DOCUMENTODIGITAL  SET ");
                   strSql.Append(" NM_DIRETORIOARQUIVO =?dirdocumento ");
                   strSql.Append(" WHERE ID_DOCUMENTODIGITAL =?iddocumento");

                   objConn = new MySqlConnection(gConnectionString);
                   objConn.Open();
                   objCmd = new MySqlCommand(strSql.ToString(), objConn);

                   objCmd.Parameters.Add("?dirdocumento", MySqlDbType.VarChar).Value = pObjDocumentoDigital.NomeDiretorioArquivo;
                   objCmd.Parameters.Add("?iddocumento", MySqlDbType.Double).Value = pObjDocumentoDigital.IdDocumentoDigital;

                   return (objCmd.ExecuteNonQuery() > 0) ? true : false;

               }
               catch (Exception ex)
               {
                   throw ex;
               }
               finally
               {
                   strSql = null;

                   objCmd.Dispose();
                   objCmd = null;

                   if (objConn.State == System.Data.ConnectionState.Open)
                   {
                       objConn.Close();
                       objConn.Dispose();
                       objConn = null;
                   }

               }
        }
        public bool dbAlterarDocumento(INFODocumentoDigital pObjDocumentoDigital, MySqlTransaction pObjTrans)
        {
            StringBuilder strSql = new StringBuilder();

            try
            {
                strSql.Append("UPDATE DOCUMENTODIGITAL  SET ");
                strSql.Append("NM_ARQUIVO ='" + pObjDocumentoDigital.NomeArquivo + "',");
                strSql.Append("NM_DIRETORIOARQUIVO = '" + pObjDocumentoDigital.NomeDiretorioArquivo.Replace("\\","\\\\") + "'");
                strSql.Append("WHERE ID_DOCUMENTODIGITAL =" + pObjDocumentoDigital.IdDocumentoDigital.ToString());

                if (dbExecutarQuery(strSql.ToString(), pObjTrans) > 0) return true; else return false;

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally {
                strSql = null;
            }
        }
        /// <summary>
        /// Exclui lógicamente o documento do banco de dados
        /// </summary>
        /// <param name="pObjInfoDocumentoDigital"></param>
        /// <returns></returns>
        public bool boExcluirDocumentosDigitais(INFODocumentoDigital pObjInfoDocumentoDigital)
        {
            DAODocumentoDigital objDaoDocumentoDigital = null;
            DAOHistorico objDaoHistorico = null;
            bool returnValue = false;
            try
            {
                boAbrirTrasacao();

                //Excluir documento lógicamente do banco de dados
                objDaoDocumentoDigital = new DAODocumentoDigital();
                if (objDaoDocumentoDigital.dbExcluirDocumento(pObjInfoDocumentoDigital, pTrans)){
                    //Registrar histórico para exclusão
                    objDaoHistorico = new DAOHistorico();
                    if (objDaoHistorico.dbInserirHistorico(boMontarHistorico("EXCLUSÃO DO DOCUMENTO: "+ pObjInfoDocumentoDigital.NomeArquivo +
                                                       " NO DIRETORIO: " + pObjInfoDocumentoDigital.NomeDiretorioArquivo + ".",
                                                       pObjInfoDocumentoDigital.IdDocumentoDigital),
                                                       pTrans)){
                        //Excluir o arquivo Fisicamente do Disco
                        string filename = pObjInfoDocumentoDigital.NomeDiretorioArquivo + pObjInfoDocumentoDigital.NomeArquivo;
                        if (System.IO.File.Exists(filename))
                        {
                            System.IO.File.Delete(filename);
                        }
                        boCommit();
                        returnValue = true;

                    }
                }//else boRollBack();
            }
            catch (Exception ex)
            {
                boRollBack();
                throw ex;
            }
            finally{
                objDaoDocumentoDigital = null;
                objDaoHistorico = null;
            }
            return returnValue;
        }
        public List<INFODocumentoDigital> dbObterDocumentosDigitais(string pNref, double pIdDocumento)
        {
            StringBuilder strSql = new StringBuilder();
            MySqlConnection objConn = null;
            MySqlDataReader objDr = null;
            List<INFODocumentoDigital> listaDocumentoDigital = null;
            INFODocumentoDigital objDocumentoDigital = null;
            try
            {
                strSql.Append(" SELECT ID_DOCUMENTODIGITAL, NM_ARQUIVO, NM_DIRETORIOARQUIVO ");
                strSql.Append(" FROM `documentodigital` AS DD, `processo` AS P, `documento` AS D");
                strSql.Append(" WHERE P.`ID_PROCESSO` = DD.`ID_PROCESSO` ");
                strSql.Append(" AND DD.`ID_DOCUMENTO` = D.`ID_DOCUMENTO`");
                strSql.Append(" AND P.`NR_REFERENCIA` ='"+ pNref +"'");
                strSql.Append(" AND D.`ID_DOCUMENTO` =" +pIdDocumento.ToString());
                strSql.Append(" AND DD.`FL_EXCLUIDO` = 0" );

                objConn = new MySqlConnection(gConnectionString);

                objDr = dbObterRegistros(objConn, strSql.ToString(), null);

                if (objDr != null)
                {
                    //listaDocumentoDigital = new List<INFODocumentoDigital>();
                    while (objDr.Read())
                    {
                        objDocumentoDigital = new INFODocumentoDigital();

                        if (objDr["ID_DOCUMENTODIGITAL"] != DBNull.Value)
                            objDocumentoDigital.IdDocumentoDigital = (double)objDr["ID_DOCUMENTODIGITAL"];

                        if (objDr["NM_ARQUIVO"] != DBNull.Value)
                            objDocumentoDigital.NomeArquivo = (string)objDr["NM_ARQUIVO"];
                        else objDocumentoDigital.NomeArquivo = null;

                        if (objDr["NM_DIRETORIOARQUIVO"] != DBNull.Value)
                            objDocumentoDigital.NomeDiretorioArquivo = (string)objDr["NM_DIRETORIOARQUIVO"];
                        else objDocumentoDigital.NomeDiretorioArquivo = null;

                        if (listaDocumentoDigital == null) listaDocumentoDigital = new List<INFODocumentoDigital>();

                        listaDocumentoDigital.Add(objDocumentoDigital);
                    }
                }

                return listaDocumentoDigital;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally {
                strSql = null;

                if (!objDr.IsClosed)
                {
                    objDr.Close();
                    objDr.Dispose();
                }
                objDr = null;

                if (objConn.State == System.Data.ConnectionState.Open)
                {
                    objConn.Close();
                    objConn.Dispose();
                    objConn = null;
                }

            }
        }
        private void btnVisualizar_Click(object sender, EventArgs e)
        {
            INFODocumentoDigital objInfoDocumentoDigitais = null;

            if (lstDocumentosDigitalisados.SelectedItems.Count > 0)
            {
                for (int i = 0; i < lstDocumentosDigitalisados.SelectedItems.Count; i++)
                {
                    objInfoDocumentoDigitais = new INFODocumentoDigital();
                    //objInfoDocumentoDigitais.IdDocumentoDigital = (double)lstDocumentosDigitalisados.SelectedItems[i].Tag;
                    objInfoDocumentoDigitais.NomeArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[1].Text;
                    objInfoDocumentoDigitais.NomeDiretorioArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[2].Text;
                }

                System.Diagnostics.Process objExplorer = new System.Diagnostics.Process();
                objExplorer.EnableRaisingEvents = false;
                objExplorer.StartInfo.FileName = System.Configuration.ConfigurationManager.
                        AppSettings.Get("LEITORPDF").ToString();//"AcroRd32.exe";
                objExplorer.StartInfo.Arguments = objInfoDocumentoDigitais.NomeDiretorioArquivo + objInfoDocumentoDigitais.NomeArquivo;
                objExplorer.Start();

                //System.Diagnostics.Process.Start(@"" + objInfoDocumentoDigitais.NomeDiretorioArquivo + objInfoDocumentoDigitais.NomeArquivo);
            }
            else {
                MessageBox.Show("Por favor, Selecione um documento para Visualizar!", Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Information );
            }
        }
        private void btnExcluirDocumentos_Click(object sender, EventArgs e)
        {
            BOManterDocumentosDigitais objManterDocumentosDigitais = null;
            INFODocumentoDigital objInfoDocumentoDigitais = null;
            try
            {
                if (lstDocumentosDigitalisados.SelectedItems.Count > 0){

                    objManterDocumentosDigitais = new BOManterDocumentosDigitais();

                    for (int i = 0; i < lstDocumentosDigitalisados.SelectedItems.Count; i++)
                    {
                        objInfoDocumentoDigitais = new INFODocumentoDigital();
                        objInfoDocumentoDigitais.IdDocumentoDigital = (double)lstDocumentosDigitalisados.SelectedItems[i].Tag;
                        objInfoDocumentoDigitais.NomeArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[1].Text;
                        objInfoDocumentoDigitais.NomeDiretorioArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[2].Text;
                    }

                    if (objManterDocumentosDigitais.boExcluirDocumentosDigitais(objInfoDocumentoDigitais)){
                        PopularListView();
                        MessageBox.Show("Documento excluido com sucesso!", Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                 }
                 else{
                    MessageBox.Show("Por favor, Selecione um documento para excluir!", Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    lstDocumentosDigitalisados.Focus();
                 }

            }
            catch (Exception ex)
            {
                MessageBox.Show("ERRO : " + ex.ToString(), Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void AtualizarDigitralizacao()
        {
            BOManterDocumentosDigitais objManterDocumentosDigitais = null;
            INFODocumentoDigital objInfoDocumentoDigitais = null;
            string TempDirPdf = System.Configuration.ConfigurationSettings.AppSettings["DIRPDF"].ToString();
            try
            {
                if (lstDocumentosDigitalisados.SelectedItems.Count > 0)
                {

                    objManterDocumentosDigitais = new BOManterDocumentosDigitais();

                    for (int i = 0; i < lstDocumentosDigitalisados.SelectedItems.Count; i++)
                    {
                        objInfoDocumentoDigitais = new INFODocumentoDigital();
                        objInfoDocumentoDigitais.IdDocumentoDigital = (double)lstDocumentosDigitalisados.SelectedItems[i].Tag;
                        objInfoDocumentoDigitais.NomeArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[1].Text;
                        objInfoDocumentoDigitais.NomeDiretorioArquivo = lstDocumentosDigitalisados.SelectedItems[i].SubItems[2].Text;
                    }

                    if (objManterDocumentosDigitais.boAtualizarDocumentosDigitais(objInfoDocumentoDigitais, TempDirPdf))
                    {
                        PopularListView();
                        MessageBox.Show("Documento Alterado com sucesso!", Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Por favor, Selecione um documento para alterar!", Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    lstDocumentosDigitalisados.Focus();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show("ERRO : " + ex.ToString(), Global.CODAPP + " - " + Global.DESCRICAOAPP, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #12
0
        public List<INFODocumentoDigital> getDocumentosDigital()
        {
            StringBuilder strSql = new StringBuilder();
               MySqlConnection objConn = null;
               MySqlDataReader objDr = null;
               List<INFODocumentoDigital> listaDocumentoDigital = null;
               INFODocumentoDigital objDocumentoDigital = null;
               try
               {
               strSql.Append(" SELECT ID_DOCUMENTODIGITAL, NM_ARQUIVO, NM_DIRETORIOARQUIVO ");
               strSql.Append(" FROM `documentodigital` ");

               objConn = new MySqlConnection(gConnectionString);

               objDr = dbObterRegistros(objConn, strSql.ToString(), null);

               if (objDr != null)
               {
                   //listaDocumentoDigital = new List<INFODocumentoDigital>();
                   while (objDr.Read())
                   {
                       objDocumentoDigital = new INFODocumentoDigital();

                       if (objDr["ID_DOCUMENTODIGITAL"] != DBNull.Value)
                           objDocumentoDigital.IdDocumentoDigital = (double)objDr["ID_DOCUMENTODIGITAL"];

                       if (objDr["NM_ARQUIVO"] != DBNull.Value)
                           objDocumentoDigital.NomeArquivo = (string)objDr["NM_ARQUIVO"];
                       else objDocumentoDigital.NomeArquivo = null;

                       if (objDr["NM_DIRETORIOARQUIVO"] != DBNull.Value)
                           objDocumentoDigital.NomeDiretorioArquivo = (string)objDr["NM_DIRETORIOARQUIVO"];
                       else objDocumentoDigital.NomeDiretorioArquivo = null;

                       if (listaDocumentoDigital == null) listaDocumentoDigital = new List<INFODocumentoDigital>();

                       listaDocumentoDigital.Add(objDocumentoDigital);
                   }
               }

               return listaDocumentoDigital;
               }
               catch (Exception ex)
               {
               throw ex;
               }
               finally
               {
               strSql = null;

               if (!objDr.IsClosed)
               {
                   objDr.Close();
                   objDr.Dispose();
               }
               objDr = null;

               if (objConn.State == System.Data.ConnectionState.Open)
               {
                   objConn.Close();
                   objConn.Dispose();
                   objConn = null;
               }

               }
        }