private static void BeforeInit( TempDBMySql self, Action <object> beforeInit, TempDbMySqlServerSettings settings) { self._autoDeleter = new AutoDeleter(); self.Settings = settings; beforeInit?.Invoke(self); }
public TempDBMySql( TempDbMySqlServerSettings settings, Action <object> beforeInit, params string[] creationScripts ) : base( o => BeforeInit(o as TempDBMySql, beforeInit, settings), creationScripts ) { }
public TempDBMySql( TempDbMySqlServerSettings settings, params string[] creationScripts ) : this( settings, o => { }, creationScripts) { }
private void AddSetting( INIFile.INIFile iniFile, PropertyInfo prop, TempDbMySqlServerSettings tempDbMySqlSettings ) { var settingAttrib = prop.GetCustomAttributes() .OfType <SettingAttribute>() .FirstOrDefault(); if (settingAttrib == null) { return; } iniFile[SECTION][settingAttrib.Name] = $"{prop.GetValue(tempDbMySqlSettings)}"; }
public string GenerateFor(TempDbMySqlServerSettings tempDbMySqlSettings) { if (tempDbMySqlSettings == null) { throw new ArgumentNullException(nameof(tempDbMySqlSettings)); } var iniFile = new INIFile.INIFile(); iniFile.AddSection(SECTION); tempDbMySqlSettings .GetType() .GetProperties() .ForEach(prop => AddSetting(iniFile, prop, tempDbMySqlSettings)); return(iniFile.ToString()); }