public async Task ResetToSampleData(SampleDataOption model) { var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var useSQLite = _sqlRepository.GetDbConnectionType() == "Microsoft.Data.Sqlite.SqliteConnection"; var useMySql = _sqlRepository.GetDbConnectionType().Contains("MySql"); //var sampleContentFolder = Path.Combine(GlobalConfiguration.ContentRootPath, "Modules", "Shop.Module.SampleData", "SampleContent", model.Industry); //Directory.GetCurrentDirectory() var sampleContentFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : useSQLite?Path.Combine(sampleContentFolder, "ResetToSampleData_SQLite.sql") : useMySql?Path.Combine(sampleContentFolder, "ResetToSampleData_MySql.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres || useSQLite?_sqlRepository.PostgresCommands(lines) : useMySql?_sqlRepository.MySqlCommand(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); _cache.Clear(); }
public async Task ResetToSampleData(SampleDataOption model) { if (_options.Value.ShopEnv == ShopEnv.PRO) { throw new Exception("正式环境不允许此操作!"); } var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var useSQLite = _sqlRepository.GetDbConnectionType() == "Microsoft.Data.Sqlite.SqliteConnection"; var useMySql = _sqlRepository.GetDbConnectionType().Contains("MySql"); var sampleContentFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : useSQLite?Path.Combine(sampleContentFolder, "ResetToSampleData_SQLite.sql") : useMySql?Path.Combine(sampleContentFolder, "ResetToSampleData_MySql.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres || useSQLite?_sqlRepository.PostgresCommands(lines) : useMySql?_sqlRepository.MySqlCommand(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); _cache.Clear(); }
public IViewComponentResult Invoke() { var sampleContentFolder = Path.Combine(GlobalConfiguration.ContentRootPath, "Modules", "OneTwoOne.Module.SampleData", "SampleContent"); var directoryInfo = new DirectoryInfo(sampleContentFolder); var industries = directoryInfo.GetDirectories().Select(x => x.Name).ToList(); var model = new SampleDataOption { AvailableIndustries = industries }; return(View(this.GetViewPath(), model)); }
public async Task ResetToSampleData(SampleDataOption model) { var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var sampleContentFolder = Path.Combine(GlobalConfiguration.ContentRootPath, "Modules", "SimplCommerce.Module.SampleData", "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres ? _sqlRepository.PostgresCommands(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); }
public async Task ResetToSampleData(SampleDataOption model) { var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var useSQLite = _sqlRepository.GetDbConnectionType() == "Microsoft.Data.Sqlite.SqliteConnection"; var useMySql = _sqlRepository.GetDbConnectionType().Contains("MySql", System.StringComparison.InvariantCultureIgnoreCase); var sampleContentFolder = Path.Combine(GlobalConfiguration.ContentRootPath, "Modules", "OneTwoOne.Module.SampleData", "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : useSQLite?Path.Combine(sampleContentFolder, "ResetToSampleData_SQLite.sql") : useMySql?Path.Combine(sampleContentFolder, "ResetToSampleData_MySql.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres || useSQLite || useMySql?_sqlRepository.PostgresCommands(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); }
public async Task <IActionResult> ResetToSample(SampleDataOption model) { await _sampleDataService.ResetToSampleData(model); return(Redirect("~/")); }
public async Task <Result> ResetToSample([FromBody] SampleDataOption model) { await _sampleDataService.ResetToSampleData(model); return(Result.Ok()); }