Пример #1
0
        /// <summary>
        /// Retorna as configurações ativas do sistema passado por parâmetro.
        /// </summary>
        /// <param name="config">Enumerador que indica de qual sistema será carregado as configurações</param>
        /// <param name="dictionary">Dicionário que será carregado com as configurações</param>
        public static void Consultar(eConfig config, out IDictionary <string, ICFG_Configuracao> dictionary)
        {
            dictionary = new Dictionary <string, ICFG_Configuracao>();
            switch (config)
            {
            case eConfig.Academico:
            {
                foreach (ICFG_Configuracao p in CFG_ConfiguracaoAcademicoBO.Consultar())
                {
                    dictionary.Add(p.cfg_chave, p);
                }
                break;
            }

            case eConfig.InscricaoCreche:
            {
                foreach (ICFG_Configuracao p in CFG_ConfiguracaoInscricaoCrecheBO.Consultar())
                {
                    dictionary.Add(p.cfg_chave, p);
                }
                break;
            }

            default:
            {
                throw new NotImplementedException();
            }
            }
        }
Пример #2
0
Файл: nLog.cs Проект: HOMEFW/FWS
        internal static eRetorno DoLog(eConfig config, eLog log)
        {
            var retorno = new eRetorno();

            switch (config.LogType)
            {
            case provider.All:
                retorno = nSqlLog.DoLog(config, log);
                return(!retorno.sucesso ? retorno : nTextLog.DoLog(config, log));

            case provider.Sql:
                return(nSqlLog.DoLog(config, log));

            case provider.Text:
                return(nTextLog.DoLog(config, log));

            case provider.SqlonErrorText:
                retorno = nSqlLog.DoLog(config, log);
                return(!retorno.sucesso ? nTextLog.DoLog(config, log) : retorno);

            default:
                retorno.sucesso  = false;
                retorno.mensagem = Error.ProviderNaoInformado;
                return(retorno);
            }
        }
Пример #3
0
        internal void CreateDataBase(eConfig config, out eRetorno retorno)
        {
            retorno = new eRetorno();
            string strConn = "", strDataBaseName = "";
            var    strSplit = ConfigurationManager.ConnectionStrings[config.ConnectionStringName].ToString().Split(';');

            foreach (var item in strSplit)
            {
                if (item.ToUpper().Contains("INITIAL CATALOG"))
                {
                    strConn        += "Initial Catalog=master;";
                    strDataBaseName = item.Replace("Initial Catalog=", "");
                }
                else if (!item.ToUpper().Contains("ATTACHDBFILENAME"))
                {
                    strConn += item + ";";
                }
            }

            var caminho = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
            //AppDomain.CurrentDomain.SetData("DataDirectory", Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData));

            var newConn = new SqlConnection(strConn);
            var strSql  = "CREATE DATABASE ? ON PRIMARY " +
                          "(NAME = ?, " +
                          "FILENAME = '" + caminho + "\\?.mdf', " +
                          "SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 1%) " +
                          "LOG ON (NAME = ?_Log, " +
                          "FILENAME = '" + caminho + "\\?_Log.ldf', " +
                          "SIZE = 1MB, " +
                          "MAXSIZE = 50MB, " +
                          "FILEGROWTH = 1%)";

            strSql = strSql.Replace("?", strDataBaseName);

            var sqlCommand = new SqlCommand(strSql, newConn);

            try
            {
                newConn.Open();
                sqlCommand.ExecuteNonQuery();
                retorno.sucesso = true;
            }
            catch (Exception ex)
            {
                retorno.sucesso  = false;
                retorno.mensagem = ex.Message;
            }
            finally
            {
                if (newConn.State == ConnectionState.Open)
                {
                    newConn.Close();
                }
            }
        }
Пример #4
0
        internal static eRetorno DoLog(eConfig config, eLog log)
        {
            var retorno = new eRetorno();

            try
            {
                var path = Directory.Exists(config.TextFilePath)
                               ? config.TextFilePath
                               : AppDomain.CurrentDomain.BaseDirectory;

                var searchName = config.TextFileName + DateTime.Now.ToString("yyyyMMdd");
                var fileName   = "";
                var count      = 0;

                foreach (var file in new DirectoryInfo(path).GetFiles().Where(c => c.Name.Contains(searchName)).OrderBy(
                             o => o.CreationTime))
                {
                    if ((file.Length) / 1024 < config.TextFileMaxByte - 1)
                    {
                        fileName = file.Name;
                        break;
                    }
                    count++;
                }

                if (fileName.Equals(""))
                {
                    fileName = searchName + ((count > 0 ? "(" + (count) + ")" : "")) + ".log";
                }

                var pathFile = Path.Combine(path, fileName);
                var writer   = new StreamWriter(pathFile, true);
                writer.WriteLine(string.Format("{0} : Class -> {1} | Method -> {2} | Message -> {3} | Error -> {4}",
                                               DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), log.Classe, log.Metodo,
                                               log.Mensagem, log.Message));

                writer.Close();
                retorno.sucesso = true;
            }
            catch (Exception ex)
            {
                retorno.sucesso  = false;
                retorno.mensagem = ex.Message;
            }

            return(retorno);
        }
Пример #5
0
Файл: dLog.cs Проект: HOMEFW/FWS
        internal eRetorno GravaLog(eConfig config, eLog log)
        {
            var retorno = new eRetorno()
            {
                sucesso = true
            };

            try
            {
                var sqlComm = new SqlCommand
                {
                    CommandType = CommandType.StoredProcedure,
                    CommandText = "USP_01_INSERT_BUSTED"
                };
                var logInfo = log.GetType().GetProperties();

                foreach (var propertyInfo in logInfo.Where(propertyInfo => propertyInfo.GetValue(log) != null))
                {
                    sqlComm.Parameters.Add(new tratamentoDados().tratarParamentros(log, propertyInfo));
                }

                using (var conexao = new connection(config, out retorno))
                    if (retorno.sucesso)
                    {
                        ValidarDataBase(conexao, out retorno);
                        if (retorno.sucesso)
                        {
                            retorno = conexao.ExecuteNonQuery(sqlComm);
                        }
                    }
            }
            catch (Exception ex)
            {
                retorno.sucesso  = false;
                retorno.mensagem = ex.Message;
            }
            return(retorno);
        }
Пример #6
0
        public connection(eConfig config, out eRetorno retorno)
        {
            retorno = new eRetorno();
            try
            {
                var strConexao = ConfigurationManager.ConnectionStrings[config.ConnectionStringName].ToString();

                if (strConexao.Equals(""))
                {
                    throw new Exception(Error.InformacaoConexaoBanco);
                }

                SqlConn = new SqlConnection {
                    ConnectionString = strConexao
                };
                try
                {
                    SqlConn.Open();
                }
                catch
                {
                    CreateDataBase(config, out retorno);
                }

                if (!SqlConn.State.Equals(ConnectionState.Open))
                {
                    SqlConn.Open();
                }

                retorno.sucesso = true;
            }
            catch (Exception ex)
            {
                retorno.sucesso  = false;
                retorno.mensagem = Error.BancoNaoEncontrado + " | " + ex.Message;
            }
        }
Пример #7
0
        private static void Initialize()
        {
            var config = (logSection)ConfigurationManager.GetSection("logSection");


            if (config == null)
            {
                throw new Exception(Error.SecaoNaoEncontrada);
            }

            if (config.Provider == null)
            {
                throw new Exception(Error.ProviderNaoInformado);
            }

            _config = new eConfig
            {
                ConnectionStringName = config.Connection.Name,
                TextFilePath         = config.Text.Path,
                TextFileName         = config.Text.Name,
                TextFileMaxByte      = config.Text.MaxByte,
                LogType = config.Provider.ProviderName
            };
        }
 public static float GetConfigValue(this eConfig a_eConfig)
 {
     return(Table <string, ConfigTb> .GetTb(a_eConfig.ToDesc()).fValue);
 }
Пример #9
0
 internal static eRetorno DoLog(eConfig config, eLog log)
 {
     return(new dLog().GravaLog(config, log));
 }