Exemple #1
0
        public async Task <ReturnedSaveFuncInfo> ExtractTempDIR(string archiveName)
        {
            var ret = new ReturnedSaveFuncInfo();

            try
            {
                var pathtemp = Zip.TempDirName();
                var fileInfo = new FileInfo(archiveName);
                pathtemp = Path.Combine(pathtemp, fileInfo.Name);
                pathtemp = Path.ChangeExtension(pathtemp, ".bak");
                using (var archive = GZipArchive.Open(archiveName))
                {
                    foreach (var entry in archive.Entries.Where(entry => !entry.IsDirectory))
                    {
                        entry.WriteToFile(pathtemp, new ExtractionOptions()
                        {
                            ExtractFullPath = true,
                            Overwrite       = true
                        });
                    }
                }
                ret.value = pathtemp;
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                ret.AddReturnedValue(ex);
            }
            return(ret);
        }
Exemple #2
0
        private static float GetBackUpVersion(string connctionString, string backUpFileName)
        {
            var ver  = (float)0;
            var line = 0;

            try
            {
                var cn = new SqlConnection(connctionString);

                line = 1;
                if (backUpFileName.EndsWith(".NPZ") || backUpFileName.EndsWith(".npz"))
                {
                    var zp = new Zip();
                    line           = 2;
                    backUpFileName = zp.ExtractTempDIR(backUpFileName);
                }


                else if (backUpFileName.EndsWith(".NPZ2") || backUpFileName.EndsWith(".npz2"))
                {
                    try
                    {
                        line = 3;
                        var pathtemp = Zip.TempDirName();
                        line = 4;
                        var fileInfo = new FileInfo(backUpFileName);
                        line     = 5;
                        pathtemp = Path.Combine(pathtemp, fileInfo.Name);
                        line     = 6;
                        pathtemp = Path.ChangeExtension(pathtemp, ".bak");
                        line     = 7;
                        using (var archive = GZipArchive.Open(backUpFileName))
                        {
                            line = 8;
                            foreach (var entry in archive.Entries.Where(entry => !entry.IsDirectory))
                            {
                                line = 9;
                                entry.WriteToFile(pathtemp, new ExtractionOptions()
                                {
                                    ExtractFullPath = true,
                                    Overwrite       = true
                                });
                            }
                        }

                        line           = 10;
                        backUpFileName = pathtemp;
                    }
                    catch
                    {
                        var zp = new Zip();
                        line           = 2000;
                        backUpFileName = zp.ExtractTempDIR(backUpFileName);
                    }
                }

                line = 11;
                if (string.IsNullOrEmpty(backUpFileName))
                {
                    return(ver);
                }
                line = 12;
                var command = @"RESTORE HEADERONLY FROM DISK ='" + backUpFileName + "'";
                line = 13;

                using (var sqlCommand = new SqlCommand(command, cn))
                {
                    line = 14;
                    cn.Open();
                    line = 15;
                    var sqlDataReader = sqlCommand.ExecuteReader();
                    line = 16;
                    while (sqlDataReader.Read())
                    {
                        line = 17;
                        Console.WriteLine();
                        line = 18;
                        var d = $"{sqlDataReader["DatabaseVersion"]}";
                        line = 19;
                        if (string.IsNullOrEmpty(d))
                        {
                            continue;
                        }
                        line = 20;
                        switch (d)
                        {
                        case "406": ver = 6; break;

                        case "408": ver = (float)6.5; break;

                        case "515": ver = 7; break;

                        case "539": ver = 2000; break;

                        case "611": ver = 2005; break;

                        case "612": ver = 2005; break;

                        case "655": ver = 2008; break;

                        case "661": ver = 2008; break;

                        case "706": ver = 2012; break;

                        case "782": ver = 2014; break;

                        case "869": ver = 2017; break;

                        case "895": ver = 2019; break;

                        case "852": ver = 2016; break;

                        default: ver = 0; break;
                        }

                        line = 21;
                        return(ver);
                    }
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex,
                                                        $"Error In Line{line} With ConnectionString:{connctionString} AND BackUpFileName:{backUpFileName}");
                ver = 0;
            }

            return(ver);
        }