コード例 #1
0
        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.");
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 public LiteDBViewerExecutionException(LiteDBVersion version, Exception innerException)
     : base(VersionToString(version), innerException)
 {
 }