/// <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(); } } }
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); } }
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(); } } }
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); }
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); }
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; } }
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); }
internal static eRetorno DoLog(eConfig config, eLog log) { return(new dLog().GravaLog(config, log)); }