Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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("~/"));
        }
Esempio n. 7
0
        public async Task <Result> ResetToSample([FromBody] SampleDataOption model)
        {
            await _sampleDataService.ResetToSampleData(model);

            return(Result.Ok());
        }