コード例 #1
0
        public static void MostraErro(string strMensagem, long lngErrNumber = 0, string strErrDescription = "", bool bolHideMensagem = true)
        {
            try
            {
                UltimaMensagemErro = strMensagem;

                //se usuário informou o número do erro do sistema
                if (lngErrNumber != 0)
                {
                    strMensagem = strMensagem + " Número: " + lngErrNumber;
                }

                //se usuário informou a descrição do erro do sistema
                if (strErrDescription != "")
                {
                    strMensagem = strMensagem + "  Descrição: " + strErrDescription;
                }

                LogarMensagem(strMensagem, lngErrNumber, strErrDescription);

                // se o usuario quer mostrar a mensagem (ShowMessage)
                if (!bolHideMensagem)
                {
                    ManipulaErro.MsgBox(0, strMensagem, "Alerta !", 0);
                }
            }
            catch (Exception ex)
            {
                strMensagem = string.Format("MostraErro(): {0} Número: {1} Descrição : {2}",
                                            strMensagem, ex.Source, ex.Message);
                ManipulaErro.MsgBox(0, strMensagem, "Alerta !", 0);
            }
        }
コード例 #2
0
        public static double GravaArquivoImagem(string strNomeArquivo, byte[] campo)
        {
            double dblBufferLength = 0;

            try
            {
                StreamWriter oStreamWriter;
                byte[]       buffer = campo;
                // Lê o conteúdo dos campos.

                if (buffer.Length > 0)
                {
                    /* Verifico de o arquivo existe e deleto*/
                    if (File.Exists(@strNomeArquivo))
                    {
                        File.Delete(@strNomeArquivo);
                    }

                    oStreamWriter = new StreamWriter(strNomeArquivo, false);
                    oStreamWriter.BaseStream.Write(buffer, 0, buffer.Length);
                    // Fecha e limpa o objeto
                    oStreamWriter.Close();
                }
                dblBufferLength = buffer.Length;
            }
            catch (Exception erro)
            {
                ManipulaErro.MostraErro("GravaArquivoImagem(): " + erro.Message, erro.GetHashCode());
            }
            return(dblBufferLength);
        }
コード例 #3
0
        public static int ExecutaCount(string strSqlCount, OracleConnection cnConexao)
        {
            OracleCommand    cmd = new OracleCommand();
            OracleDataReader rdrCount;
            int iTotal = 0;

            try
            {
                cmd.CommandText = strSqlCount;
                //cmd.Connection = cnConexao.Conectar();
                cmd.Connection = cnConexao;
                rdrCount       = cmd.ExecuteReader();
                if (rdrCount.HasRows)
                {
                    if (rdrCount.Read())
                    {
                        iTotal = rdrCount.GetInt16(0);
                    }
                }

                rdrCount.Close();
            }
            catch (OracleException ex)
            {
                ManipulaErro.MostraErro("ExecutaCount(): ", ex.GetHashCode(), ex.Message, false);
                iTotal = -1;
            }
            return(iTotal);
        }
コード例 #4
0
 public OracleConnection Conectar()
 {
     try
     {
         if (OraConn.State.Equals(ConnectionState.Closed))
         {
             OraConn.Open();
         }
     }
     catch (OracleException ex)
     {
         string errorMessage = "Código : " + ex.ErrorCode + "\n" + "Mensagem: " + ex.Message;
         ManipulaErro.MostraErro(errorMessage, ex.ErrorCode, ex.Message, MostraErro);
     }
     return(OraConn);
 }
コード例 #5
0
 public static RetornoTrataImagem EliminaArquivo(string[] lstArquivo)
 {
     try
     {
         foreach (string strArquivo in lstArquivo)
         {
             File.Delete(@strArquivo);
         }
         return(RetornoTrataImagem.Rok);
     }
     catch (Exception Err)
     {
         ManipulaErro.MostraErro("EliminaArquivo():", Err.GetHashCode(), Err.Message, false);
         ManipulaErro.GravaEventLog("EliminaArquivo" + Err.Message, Err.GetHashCode());
         return(RetornoTrataImagem.RArquivoNaoApagado);
     }
 }
コード例 #6
0
 public static bool CriaPath(string strPath)
 {
     try
     {
         if (Directory.Exists(strPath))
         {
             return(true);
         }
         else
         {
             Directory.CreateDirectory(strPath);
             return(true);
         }
     }
     catch (Exception Err)
     {
         ManipulaErro.MostraErro("EliminaArquivo():", Err.GetHashCode(), Err.Message, false);
         ManipulaErro.GravaEventLog("EliminaArquivo" + Err.Message, Err.GetHashCode());
         return(false);
     }
 }
コード例 #7
0
        public static (Enum.RetSqlFunction, DataSet ResultDataSet) AbreResultAdapter(string strSql, OracleConnection cnConexao, bool HideMsgErro = true)
        {
            RetSqlFunction    iResultado    = RetSqlFunction.retSQLEmpty;
            OracleDataAdapter ResultAdapter = new OracleDataAdapter();
            DataSet           ResultDataSet = new DataSet("ResultadoAdapter");

            try
            {
                ResultAdapter.SelectCommand = new OracleCommand(strSql, cnConexao);
                ResultAdapter.Fill(ResultDataSet, "ResultadoAdapter");
                if (ResultDataSet.Tables["ResultadoAdapter"].Rows.Count > 0)
                {
                    iResultado = Enum.RetSqlFunction.retSQLOk;
                }
                ResultAdapter.Dispose();
            }
            catch (OracleException ex)
            {
                ManipulaErro.MostraErro("AbreResultAdapter(): ", ex.GetHashCode(), ex.Message, HideMsgErro);
                ManipulaErro.LogarMensagem("AbreResultAdapter(): ", ex.GetHashCode(), ex.Message);
                iResultado = RetSqlFunction.retSQLError;
            }
            return(iResultado, ResultDataSet);
        }
コード例 #8
0
        /*2020.03.26 - Rogerio Itoh : Sinplificando a função AbreResult*/
        public static (Enum.RetSqlFunction, OracleDataReader rdrResultado) AbreResult(string strSql, OracleConnection cnConexao, bool HideMsgErro = true)
        {
            Enum.RetSqlFunction iResultado   = Enum.RetSqlFunction.retSQLEmpty;
            OracleCommand       cmd          = new OracleCommand();
            OracleDataReader    rdrResultado = null;

            try
            {
                cmd.CommandText = strSql;
                cmd.Connection  = cnConexao;
                rdrResultado    = cmd.ExecuteReader();
                if (rdrResultado.HasRows)
                {
                    iResultado = RetSqlFunction.retSQLOk;
                }
            }
            catch (OracleException ex)
            {
                ManipulaErro.MostraErro("AbreResult(): ", ex.GetHashCode(), ex.Message, HideMsgErro);
                ManipulaErro.LogarMensagem("AbreResult(): ", ex.GetHashCode(), ex.Message);
                iResultado = RetSqlFunction.retSQLError;
            }
            return(iResultado, rdrResultado);
        }
コード例 #9
0
        /*  public static OracleDataReader Consulta(string strSql)
         * {
         *    CnConexaoDll conexao = new CnConexaoDll();
         *    OracleCommand cmd = new OracleCommand();
         *    OracleDataReader readerResult = null;
         *
         *    try
         *    {
         *        cmd.CommandText = strSql;
         *        cmd.Connection = ;
         *        readerResult = cmd.ExecuteReader();
         *        return readerResult;
         *    }
         *    catch (OracleException ex)
         *    {                string errorMessage = "Código : " + ex.ErrorCode + "\n" + "Mensagem: " + ex.Message;
         *        return readerResult;
         *    }
         * } */

        public static RetSqlFunction SqlError(OracleException Erro, bool blHideMsg = false)
        {
            string         strMsg;
            RetSqlFunction SqlError = RetSqlFunction.retSQLEmpty;

            switch (Erro.Errors.GetHashCode())
            {
            case 12154:
            case 12224:
                strMsg   = "Falha na Conexão !";
                SqlError = RetSqlFunction.retSQLErrorReconnect;
                break;

            case 1017:
                strMsg   = "Usuário/Senha inválida !";
                SqlError = RetSqlFunction.retInvalidUserPwd;
                break;

            case 1031:
                strMsg   = "Privilégios insuficientes !";
                SqlError = RetSqlFunction.retSQLError;
                break;

            case 942:
                strMsg   = "Tabela inexistente ou privilégios insuficientes !";
                SqlError = RetSqlFunction.retSQLError;
                break;

            case 2627:
            case 1:
                strMsg   = "Registro já cadastrado !";
                SqlError = RetSqlFunction.retSQLDuplicatePK;
                break;

            case 547:
            case 2292:
                strMsg   = "Registro não pode ser excluído! Existe alguma referência para a informação.";
                SqlError = RetSqlFunction.retSQLError;
                break;

            case 54:
                strMsg   = "Registro já selecionado por outro usuário !";
                SqlError = RetSqlFunction.retSQLErrorLocked;
                break;

            case 3113:
            case 3114:
            case 3146:
            case 12571:
            case 12570:
            case 3151:
                strMsg = "Não foi possível completar sua solicitação. Tente novamente !";

                /*If TransactionInProgress Then
                 *  HidestrMsg = False
                 * Else
                 *  HidestrMsg = True
                 * End If*/
                SqlError = RetSqlFunction.retSQLErrorReconnect;
                break;

            case 1013:      //'TimeOut
                strMsg   = "Não foi possível completar sua solicitação. Tente novamente !";
                SqlError = RetSqlFunction.retSQLErrorTimeOut;
                break;

            case 1631:
                strMsg   = "Número máximo de registro na Tabela excedido!";
                SqlError = RetSqlFunction.retSQLError;
                break;

            case 2396:
                //exceeded maximum idle time, please connect again
                strMsg = "Não foi possível completar sua solicitação. Tente novamente !";

                /*If TransactionInProgress Then
                 *  HidestrMsg = False
                 * Else
                 *  HidestrMsg = True
                 * End If*/
                SqlError = RetSqlFunction.retSQLErrorReconnect;
                break;

            case 28:      //'Sessão cancelada
                strMsg = "Não foi possível completar sua solicitação. Tente novamente !";

                /*If TransactionInProgress Then
                 *  HidestrMsg = False
                 * Else
                 *  HidestrMsg = True
                 * End If*/
                SqlError = RetSqlFunction.retSQLErrorReconnect;
                break;

            default:
                strMsg   = Erro.Message;
                SqlError = RetSqlFunction.retSQLError;
                break;
            }

            if (!blHideMsg && !strMsg.Equals(""))
            {
                ManipulaErro.MostraErro(strMsg, Erro.ErrorCode, "", true);
            }
            else if (!blHideMsg)
            {
                if (Erro.Errors.GetHashCode().Equals(40071))
                {
                    SqlError = RetSqlFunction.retSQLError;
                    strMsg   = "Não foi possível completar sua conexão com a base do Detran. \n" +
                               "As operações remotas não serão realizadas!";
                    SqlError = RetSqlFunction.retSQLError;
                    ManipulaErro.MostraErro(strMsg, Erro.ErrorCode, "", true);
                    return(SqlError);
                }

                ManipulaErro.MostraErro(Erro.Message, Erro.ErrorCode, "", true);
                SqlError = RetSqlFunction.retVBError;
            }

            return(SqlError);
        }
コード例 #10
0
        public static (double, List <byte[]>, List <int>) Le_Arquivo_Imagem(string[] strArquivoaLer)
        {
            /* Esta função lê os arquivos Wsq e Jpg  e converte em bytes para serem
             * Gravados na tabela */

            List <byte[]> lstImagemConvertida = new List <byte[]>();
            List <int>    lstTipoExtensao     = new List <int>();
            double        dblTamanhoArquivo   = 0;
            int           iTipoExtensao;

            try
            {
                // Verifico se a lista de arquivos não está zerada
                for (int iArquivo = 0; iArquivo < strArquivoaLer.Length; iArquivo++)
                {
                    // Verifico se a extensão do arquivo é válida.
                    iTipoExtensao = ObtemTipoDeArquivo(strArquivoaLer[iArquivo]);

                    /* Tipo de Extensão desconhecida */
                    if (iTipoExtensao.Equals(9))
                    {
                        dblTamanhoArquivo = 0;
                        lstTipoExtensao.Clear();
                        lstTipoExtensao.Add(9);
                        lstImagemConvertida.Clear();
                        break;
                    }

                    FileStream   fs = new FileStream(strArquivoaLer[iArquivo], FileMode.Open, FileAccess.Read);
                    BinaryReader br = new BinaryReader(fs);
                    if (fs.Length > 0)
                    {
                        byte[] imagemArray = br.ReadBytes((int)fs.Length);

                        // Adiciona o arquivo convertido ao array
                        lstImagemConvertida.Add(imagemArray);
                        lstTipoExtensao.Add(iTipoExtensao);

                        dblTamanhoArquivo += fs.Length;
                    }
                    else
                    {
                        // Se encontrar um arquivo vazio interrompe a rotina
                        dblTamanhoArquivo = 0;
                        lstImagemConvertida.Clear();
                        lstTipoExtensao.Clear();
                        break;
                    }

                    br.Close();
                    fs.Close();
                }

                /* Retorna o tamanho total dos arquivos convertidos
                 * Uma lista como a conversão dos arquivos para Byte
                 * e lista com o tipo de Extensao */

                return(dblTamanhoArquivo, lstImagemConvertida, lstTipoExtensao);
            }
            catch (Exception ex)
            {
                lstImagemConvertida.Clear();
                lstTipoExtensao.Clear();
                ManipulaErro.MostraErro("Le_Arquivo_Imagem(): Erro na conversão de arquivos.", ex.GetHashCode(), ex.Message);
                ManipulaErro.LogarMensagem("Le_Arquivo_Imagem(): Erro na conversão de arquivos.", ex.GetHashCode(), ex.Message);
                return(0, lstImagemConvertida, lstTipoExtensao);
            }
        }