public static void Install(TodoStorageSettings settings) { if (!File.Exists(settings.SqlInstallFileName)) { return; // That's mean that a sql install file has been installed because after installation the file should delete } var sql = File.ReadAllText(settings.SqlInstallFileName).Replace("__DBNAME__", settings.DbName); var server = new Server(new ServerConnection(new SqlConnection(settings.ConnectionString))); server.ConnectionContext.ExecuteNonQuery(sql); File.Move(settings.SqlInstallFileName, settings.SqlInstallFileName + ".executed"); }
public static IStorage Create(TodoStorageSettings settings) => new DbStorage(settings);
public static string GetFullConnectionString(TodoStorageSettings settings) => $"Database={settings.DbName};{settings.ConnectionString}";
public DbStorage(TodoStorageSettings settings) { this.settings = settings; todoRepositoryLazy = new Lazy<DbTodoRepository>(() => new DbTodoRepository(GetFullConnectionString(settings))); userRepositoryLazy = new Lazy<DbUserRepository>(() => new DbUserRepository(GetFullConnectionString(settings))); }