public Conexao(IAmbiente ambiente) { Ambiente = ambiente ?? throw new ArgumentNullException(nameof(ambiente)); Connection = ambiente.GetConnection(); Connection.Open(); SetarConexao(); }
//-- ambiente public void SetAmbiente(IAmbiente ambiente) { _ambiente = ambiente ?? throw new ArgumentNullException(nameof(ambiente)); _conexao = ConexaoFactory.GetConexao(ambiente); _comando = new Comando(ambiente.TipoDatabase); _migracao = new Migracao(this); }
//-- valor padrao public static object GetValor(this IAmbiente ambiente, ValorPadraoAttribute valorPadrao) { switch (valorPadrao.Tipo) { case ValorPadraoTipo.EmpresaLogada: return(ambiente.CodigoEmpresa); case ValorPadraoTipo.UsuarioLogado: return(ambiente.CodigoUsuario); case ValorPadraoTipo.TerminalLogado: return(ambiente.CodigoTerminal); case ValorPadraoTipo.DataSistema: return(DateTime.Today); case ValorPadraoTipo.HoraSistema: return(DateTime.Now); case ValorPadraoTipo.ValorPadrao: return(valorPadrao.Valor); } return(null); }
public static IDbConnection GetConnection(this IAmbiente ambiente) { /* * Assembly assembly = Assembly.LoadFrom("MyNice.dll"); * Type type = assembly.GetType("MyType"); * object instanceOfMyType = Activator.CreateInstance(type); */ var pathDriverAssembly = Path.Combine("Drivers", ambiente.TipoDatabase.ToString()); var pathDriver = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, pathDriverAssembly); PathExtensions.SetPath(pathDriver); var nomeAssembly = Path.Combine(pathDriver, ambiente.TipoDatabase.GetNomeAssembly()); var assembly = Assembly.LoadFrom(nomeAssembly); var nomeType = ambiente.TipoDatabase.GetNomeType(); var type = assembly.GetType(nomeType); var connection = (IDbConnection)Activator.CreateInstance(type); connection.ConnectionString = ambiente.GetConnectionString(); return(connection); }
private static string SetConnectionString(this IAmbiente ambiente, string connectionString) { return(connectionString .Replace("{database}", ambiente.Database.GetAppPath()) .Replace("{username}", ambiente.Username) .Replace("{password}", ambiente.Password) .Replace("{hostname}", ambiente.Hostname) ); }
/// <summary> /// /// setar ambiente com base na chamada por linha de comando /// /// ambiente /// -ac - codigo /// - teste /// /// -at - tipo database /// - Oracle /// - MySql /// - PostgreSql /// - SqLite /// /// -ad - database /// - {appPath}\Dados /// /// -au - username /// - uteste /// /// -ap - password /// - uteste /// /// -ah - hostname /// - localhost /// /// -av - provider /// /// -ec - codigo empresa /// -uc - cdigo usuario /// -tc - codigo terminal /// /// </summary> /// <param name="ambiente"></param> public static void SetAmbiente(this IAmbiente ambiente) { var argAnt = string.Empty; ambiente.Codigo = "teste"; foreach (var arg in Environment.GetCommandLineArgs()) { switch (argAnt) { case "-ac": ambiente.Codigo = arg; break; case "-at": ambiente.TipoDatabase = (TipoDatabase)Enum.Parse(typeof(TipoDatabase), arg); break; case "-ad": ambiente.Database = arg; break; case "-au": ambiente.Username = arg; break; case "-ap": ambiente.Password = arg; break; case "-ah": ambiente.Hostname = arg; break; case "-av": ambiente.ProviderName = arg; break; case "-ec": ambiente.CodigoEmpresa = Convert.ToInt32(arg.ObterNumero() ?? 0); break; case "-tc": ambiente.CodigoTerminal = Convert.ToInt32(arg.ObterNumero() ?? 0); break; case "-uc": ambiente.CodigoUsuario = Convert.ToInt32(arg.ObterNumero() ?? 0); break; } argAnt = arg; } }
public static IConexao GetConexao(IAmbiente ambiente, TipoConexao tipoConexao = TipoConexao.Ambiente) { var codigoAmbiente = ambiente.Codigo + "#" + tipoConexao.ToString(); var conexao = _listaDeConexao.ContainsKey(codigoAmbiente) ? _listaDeConexao[codigoAmbiente] : null; if (conexao == null) { conexao = new Conexao(ambiente); _listaDeConexao[codigoAmbiente] = conexao; } return(conexao); }
public InformacaoSistema(IAmbiente ambiente, IEmpresa empresa, IUsuario usuario, ITerminal terminal) { Ambiente = Check.NotNull(ambiente, nameof(ambiente)); Ambiente.SetAmbiente(); Empresa = Check.NotNull(empresa, nameof(empresa)); Empresa.SetEmpresa(); Usuario = Check.NotNull(usuario, nameof(usuario)); Usuario.SetUsuario(); Terminal = Check.NotNull(terminal, nameof(terminal)); Terminal.SetTerminal(); }
public static void SetarValorPadrao(this IAmbiente ambiente, object obj) { if (!_inValorPadrao) { return; } var valorPadroes = obj.GetType().GetValorPadroes(); foreach (var valorPadrao in valorPadroes) { var valor = ambiente.GetValor(valorPadrao); if (valor != null) { valorPadrao.Prop.SetValue(obj, valor); } } }
public static DataBase CreateDataBase(IAmbiente ambiente) { if (sectionHandler?.Name?.Length == 0) { throw new Exception("Database name not defined in DbFactoryConfiguration section of config file"); } try { Type database = Type.GetType(sectionHandler.Name); ConstructorInfo constructorInfo = database.GetConstructor(new Type[] { }); DataBase databaseObj = (DataBase)constructorInfo.Invoke(null); databaseObj.connectionString = ambiente.GetConnectionString(sectionHandler.ConnectionString); return(databaseObj); } catch (Exception excep) { throw new Exception("Error instantiating database " + sectionHandler.Name + ". " + excep.Message); } }
public AbstractDataContext(IAmbiente ambiente) { SetAmbiente(ambiente); SetMigracao(); }
public AbstractAmbService(IAmbiente ambiente) { _ambiente = ambiente ?? throw new ArgumentNullException(nameof(ambiente)); }
public void SetAmbiente(IAmbiente ambiente) => _repositoryDataContext?.DataContext?.SetAmbiente(ambiente);
public static string GetConnectionString(this IAmbiente ambiente, string connectionString = null) { return(ambiente.SetConnectionString(connectionString ?? ambiente.TipoDatabase.GetConnectionString())); }
public void DatabaseTests_Cleanup() { _ambiente = null; }
public void DatabaseTests_Initialize() { _ambiente = Resolve <IAmbiente>(); }
public AbstractDataContextDapper(IAmbiente ambiente) { SetAmbiente(ambiente); }