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"); }
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)); } }