Beispiel #1
0
        public FileResult GetSqliteDb()
        {
            var msToSqlite = new MsSqlToSqlite();
            var fs         = new FileStream(msToSqlite.SqliteDbPath, FileMode.Open, FileAccess.Read);

            return(File(fs, "application/force-download", "Railroad.db"));
        }
        public void TestLoadSqliteTableScripts()
        {
            var instance = new MsSqlToSqlite();

            var scripts = (Dictionary <string, string>)instance.GetType()
                          .GetField("_tableScripts", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(instance);

            scripts.Should().NotBeNull();
            scripts?.Count.Should().Be(71);
            scripts?.ContainsKey("AnnounceCommands").Should().Be(true);
            scripts?.ContainsKey("DriveRecords").Should().Be(true);
            scripts?.ContainsKey("InstructorAnalysis").Should().Be(true);
            scripts?.ContainsKey("MobileDevice").Should().Be(true);
            scripts?.ContainsKey("ViewDriveRecord").Should().Be(true);

            var fields = (Dictionary <string, List <string> >)instance.GetType()
                         .GetField("_tableFields", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(instance);

            fields.Should().NotBeNull();
            fields?.Count.Should().Be(28);
            fields?.ContainsKey("AnnounceCommands").Should().Be(true);
            fields?["AnnounceCommands"].Count.Should().Be(11);
            fields?["AnnounceCommands"][0].Should().Be("Id");
            fields?["AnnounceCommands"][10].Should().Be("TableNamessss");
            fields?.ContainsKey("TrainNoLine").Should().Be(true);
            fields?["TrainNoLine"].Count.Should().Be(7);
            fields?["TrainNoLine"][0].Should().Be("Id");
            fields?["TrainNoLine"][6].Should().Be("TableNamessss");
        }
        public void TestCreateSqliteTables()
        {
            var instance = new MsSqlToSqlite();

            ReflectorHelper.InvokeMethod(instance, "CreateSqliteTables");

            var sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='TrainNoLine';";
            var res = _sqliteHelper.ExecuteScalar(_connStr, CommandType.Text, sql);

            res.Should().NotBeNull();
            res?.ToString().Should().Be("TrainNoLine");
        }
Beispiel #4
0
        public JsonResult UploadSqliteDbScript()
        {
            var file = Request.Files[0];

            if (file != null && file.FileName.ToLower().EndsWith(".xml"))
            {
                var msToSqlite = new MsSqlToSqlite();
                file.SaveAs(msToSqlite.ScriptFilePath);

                msToSqlite.GetSqliteDb();
                return(Json(ErrorModel.OperateSuccess));
            }
            else
            {
                return(Json(ErrorModel.OperateFailed));
            }
        }