private static string VersionToString(LiteDBVersion version) { var versionString = "LiteDBViewer"; switch (version) { case LiteDBVersion.LiteDB_0_9: case LiteDBVersion.LiteDB_1_0: versionString = "LiteDBViewer v1.0"; break; case LiteDBVersion.LiteDB_2_0RC: versionString = "LiteDBViewer v2.0RC2"; break; case LiteDBVersion.LiteDB_2_0: versionString = "LiteDBViewer v2.0"; break; case LiteDBVersion.LiteDB_3_0: versionString = "LiteDBViewer v3.0"; break; } return($"Can not find or execute the {versionString}. Please make sure that you have it installed."); }
public static void OpenLiteDBViewer(string[] fileNames, LiteDBVersion version) { var classIds = new List <string>(); switch (version) { case LiteDBVersion.LiteDB_0_9: case LiteDBVersion.LiteDB_1_0: classIds.Add(@"litedbviewer.databasefile"); break; case LiteDBVersion.LiteDB_2_0RC: case LiteDBVersion.LiteDB_2_0: classIds.Add(@"litedbviewer2.databasefile"); break; case LiteDBVersion.LiteDB_3_0__4_0: classIds.Add(@"litedbviewer4.databasefile"); classIds.Add(@"litedbviewer3.databasefile"); break; default: throw new LiteDBViewerExecutionException(version); } for (var i = 0; i < classIds.Count; i++) { try { var address = Functions.AssocQueryString(AssocStr.Executable, classIds[i]); Process.Start(new ProcessStartInfo { FileName = address, Arguments = string.Join(" ", fileNames.Select(fileName => $"\"{fileName}\"").ToArray()), UseShellExecute = true }); break; } catch (Exception exception) { if (i < classIds.Count - 1) { continue; } throw new LiteDBViewerExecutionException(version, exception); } } }
public static void OpenLiteDBViewer(string[] fileNames, LiteDBVersion version) { var classId = string.Empty; switch (version) { case LiteDBVersion.LiteDB_0_9: case LiteDBVersion.LiteDB_1_0: classId = "litedbviewer.databasefile"; break; case LiteDBVersion.LiteDB_2_0RC: case LiteDBVersion.LiteDB_2_0: classId = "litedbviewer2.databasefile"; break; case LiteDBVersion.LiteDB_3_0: classId = "litedbviewer3.databasefile"; break; case LiteDBVersion.LiteDB_4_0: classId = "litedbviewer4.databasefile"; break; default: throw new LiteDBViewerExecutionException(version); } try { var address = Functions.AssocQueryString(AssocStr.Executable, classId); Process.Start(new ProcessStartInfo { FileName = address, Arguments = string.Join(" ", fileNames.Select(fileName => $"\"{fileName}\"").ToArray()), UseShellExecute = true }); } catch (Exception exception) { throw new LiteDBViewerExecutionException(version, exception); } }
public LiteDBViewerExecutionException(LiteDBVersion version, Exception innerException) : base(VersionToString(version), innerException) { }