public MainLogicModule(DistributorModule distributor, DbModule db) { Contract.Requires(distributor != null); Contract.Requires(db != null); _db = db; _distributor = distributor; _queue = GlobalQueue.Queue; }
public static Module GetModule(string query) { DbModule module = null; if (query.StartsWith("db") && Regex.IsMatch(query, Patterns.DbModule)) { module = new DbModule(); } return(module); }
private static void MigrateDbViews() { Helper.Log("Start migrating database views"); DataTable dt = SQLSvrDbi.GetViews(); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { DbModule module = new DbModule(row["SchemaName"].ToString(), row["ViewName"].ToString(), row["ViewDefinition"].ToString(), ModuleType.View); module.Migrate(); } } Helper.Log("Finished migrating database views"); }
private static void MigrateDbStoredProcedures() { Helper.Log("Start migrating stored procedures"); DataTable dt = SQLSvrDbi.GetStoredProcedures(); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { DbModule module = new DbModule( row["SchemaName"].ToString(), row["ProcedureName"].ToString(), row["ProcedureDefinition"].ToString(), ModuleType.StoredProcedure); module.Migrate(); } } Helper.Log("Finished migrating stored procedures"); }
public void CreateDb(CreateDbOptions options) { string connectionString = GetConnectionString(); // confirm that the user wants to continue to protect against accidental running of DbCreator in QA or PROD. if (!UserConfirmedDbCreatorAction(connectionString)) { WriteLine(); WriteLine(">> No action was performed because user did NOT confirm action."); WriteLine("Press ENTER to close DbCreator."); Console.ReadLine(); return; } var dbModule = new DbModule(connectionString); dbModule.KillActiveConnections(); if (options.DropDb) { dbModule.DropDatabase(); } CreateDatabaseAndSchema(); if (options.LoadSeedData) { LoadSeedData(); } if (options.LoadTestData) { LoadTestData(); } }
private static void ExecutePlugin(Assembly assembly, bool force = false) { if (!BootstrapperSection.Instance.PluginLoader.Enabled && !force) { return; } var plugins = assembly.GetExportedTypes().Where(x => typeof(IPlugin).IsAssignableFrom(x) && x.IsClass && !x.IsAbstract); foreach (var plugin in plugins) { if (_executedPlugins.Contains(plugin.AssemblyQualifiedName)) { continue; } _executedPlugins.Add(plugin.AssemblyQualifiedName); Trace.TraceInformation("[PluginLoader]: Found implementation of IPlugin '{0}'", plugin.FullName); IPlugin instance = null; using (DisposableTimer.StartNew(plugin.FullName)) { try { instance = Activator.CreateInstance(plugin) as IPlugin; } catch (Exception ex) { Trace.TraceError("[PluginLoader]:Error activating instance of type '{0}'. {1}", plugin, ex.Message); } finally { if (instance != null) { //verifica se o plugin está instalado using (var ctx = new DbFileContext()) { var module = ctx.DbModules.FirstOrDefault( x => x.Name.Equals(instance.PluginName, StringComparison.OrdinalIgnoreCase)); if (module == null) { module = new DbModule(); module.Name = instance.PluginName; ctx.DbModules.Add(module); ctx.SaveChanges(); } if (!module.Status) { //instalar using (DisposableTimer.StartNew("Installing {0}".Fmt(module.Name))) { try { instance.Install(); module.Status = true; ctx.SaveChanges(); } catch (Exception ex) { Trace.TraceError(ex.ToString()); } } } } Trace.TraceInformation("[PluginLoader]: Trying to Execute Plugin: {0}", instance.PluginName); try { instance.Start(); Trace.TraceInformation("[PluginLoader]: SUCCESS Executing Plugin: {0}", instance.PluginName); } catch (Exception ex) { Trace.TraceError(ex.Message); } } } } } }