private void btnRestore_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtFilePath.Text.Trim())) { RadMessageBox.Show("Bạn phải chọn tập tin dữ liệu để phục hồi", "Lỗi", MessageBoxButtons.OK, RadMessageIcon.Error); return; } RestoreHelper restore = new RestoreHelper(); string dbName = ConfigurationManager.AppSettings["Database"]; string usr = ConfigurationManager.AppSettings["User"]; string pwd = ConfigurationManager.AppSettings["Password"]; string server = ConfigurationManager.AppSettings["Server"]; string dataFile = ConfigurationManager.AppSettings["DataFilePath"]; string logFile = ConfigurationManager.AppSettings["DataFilePath"]; try { restore.RestoreDatabase(dbName, txtFilePath.Text, server, usr, pwd, dataFile, logFile); RadMessageBox.Show("Phục hồi dữ liệu thành công", "Thành công", MessageBoxButtons.OK, RadMessageIcon.Info); this.Close(); Process.Start(@"..\..\..\NganHangDeThi\bin\Debug\NganHangDeThi.exe"); } catch { RadMessageBox.Show("Không thể phục hồi, bạn hãy chắc chắn rằng tất cả kết nối đến cơ sở dữ liệu đều đã được đóng và thử lại.", "Lỗi", MessageBoxButtons.OK, RadMessageIcon.Error); } }
/// <summary> /// Gets the stride SDK dir. /// </summary> /// <returns></returns> internal static async Task <PackageInfo> FindStrideSdkDir(string solution, string packageName = "Stride.VisualStudio.Commands") { // Resolve the sdk version to load from the solution's package var packageInfo = new PackageInfo { ExpectedVersion = await PackageSessionHelper.GetPackageVersion(solution), SdkPaths = new List <string>() }; // Try to find the package with the expected version if (packageInfo.ExpectedVersion != null && packageInfo.ExpectedVersion >= MinimumVersion) { // Try both net5.0 and net472 var success = false; foreach (var framework in new[] { ".NET,Version=v5.0", ".NETFramework,Version=v4.7.2" }) { var logger = new Logger(); var solutionRoot = Path.GetDirectoryName(solution); var(request, result) = await Task.Run(() => RestoreHelper.Restore(logger, NuGetFramework.ParseFrameworkName(framework, DefaultFrameworkNameProvider.Instance), "win", packageName, new VersionRange(packageInfo.ExpectedVersion.ToNuGetVersion()), solutionRoot)); if (result.Success) { packageInfo.SdkPaths.AddRange(RestoreHelper.ListAssemblies(result.LockFile)); packageInfo.LoadedVersion = packageInfo.ExpectedVersion; success = true; break; } } if (!success) { throw new InvalidOperationException($"Could not restore {packageName} {packageInfo.ExpectedVersion}, this visual studio extension may fail to work properly without it. To fix this you can either build {packageName} or pull the right version from nugget manually"); } } return(packageInfo); }
/// <summary> /// Gets the xenko SDK dir. /// </summary> /// <returns></returns> internal static async Task <PackageInfo> FindXenkoSdkDir(string solution, string packageName = "Xenko.VisualStudio.Commands") { // Resolve the sdk version to load from the solution's package var packageInfo = new PackageInfo { ExpectedVersion = await PackageSessionHelper.GetPackageVersion(solution), SdkPaths = new List <string>() }; // Check if we are in a root directory with store/packages facilities var store = new NugetStore(null); NugetLocalPackage xenkoPackage = null; // Try to find the package with the expected version if (packageInfo.ExpectedVersion != null && packageInfo.ExpectedVersion >= MinimumVersion) { // Xenko up to 3.0 if (packageInfo.ExpectedVersion < new PackageVersion(3, 1, 0, 0)) { xenkoPackage = store.GetPackagesInstalled(new[] { "Xenko" }).FirstOrDefault(package => package.Version == packageInfo.ExpectedVersion); if (xenkoPackage != null) { var xenkoSdkDir = store.GetRealPath(xenkoPackage); packageInfo.LoadedVersion = xenkoPackage.Version; foreach (var path in new[] { // Xenko 2.x and 3.0 @"Bin\Windows\Direct3D11", @"Bin\Windows", // Xenko 1.x @"Bin\Windows-Direct3D11" }) { var fullPath = Path.Combine(xenkoSdkDir, path); if (Directory.Exists(fullPath)) { packageInfo.SdkPaths.AddRange(Directory.EnumerateFiles(fullPath, "*.dll", SearchOption.TopDirectoryOnly)); packageInfo.SdkPaths.AddRange(Directory.EnumerateFiles(fullPath, "*.exe", SearchOption.TopDirectoryOnly)); } } } } // Xenko 3.1+ else { var logger = new Logger(); var(request, result) = await RestoreHelper.Restore(logger, packageName, new VersionRange(packageInfo.ExpectedVersion.ToNuGetVersion())); if (result.Success) { packageInfo.SdkPaths.AddRange(RestoreHelper.ListAssemblies(request, result)); packageInfo.LoadedVersion = packageInfo.ExpectedVersion; } } } return(packageInfo); }
static void Main(string[] args) { var ver = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion; Console.Title = $"File Storage Restore Tool {ver}"; Console.WriteLine(ConsoleHelper.Header(ver)); var restoreHelper = new RestoreHelper(ItemClass.File); var database = ConfigHelper.GetConfigurationValue("DatabaseToRestore"); var dumpFileList = ConfigHelper.GetConfigurationBoolean("DumpFileList"); var restoreScriptFile = ConfigHelper.GetConfigurationValue("RestoreScriptFile"); var restoreScriptMask = ConfigHelper.GetConfigurationValue("RestoreScriptMask"); var sortOrder = ConfigHelper.GetConfigurationValue("ItemSortOrder") .Equals("Size", StringComparison.InvariantCultureIgnoreCase) ? ItemSortOrder.Size : ItemSortOrder.Name; var dateTime = DateTime.Now.ToString(restoreScriptMask); var fileName = new FileInfo(restoreScriptFile.Replace("{%%DATABASE%%}", database).Replace("{%%MASK%%}", dateTime)); StringBuilder outputScript; if (!dumpFileList) { outputScript = restoreHelper.FetchFilesForRestoreScript(database, sortOrder); // Create output directory for the script filename if it doesn't exist if (fileName.Directory != null && !fileName.Directory.Exists) { fileName.Directory.Create(); } // Write out the SQL Restore file using (var writer = new StreamWriter(fileName.FullName)) { writer.Write(outputScript.ToString()); } } else { outputScript = restoreHelper.GenerateRestoreScript(database, true, sortOrder); // Write out the SQL Restore file using (var writer = new StreamWriter(ConfigHelper.GetConfigurationValue("DumpFile"))) { writer.Write(outputScript.ToString()); } } }
private void btnRestaurar_Click(object sender, EventArgs e) { Data datos = new Data(); datos.CloseConnection(); Data dat = new Data(); dat.CierraConexion(); //string ru = ""; //ru = "Data Source=pakosmil\\gamo;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=supervisor"; //Data DataAccess = new Data(ru); //dsLoguin = DataAccess.ExecuteSPQueryDataSet(Parameters, "Sp_Select_UsuarioLogin"); //DataAccess.CloseConnection(); if (txtPhat.Text.Trim() == "") { MessageBox.Show("Falta información para realizar la restauración...", "MENSAJE DEL SISTEMA"); return; } else { string Ruta = ""; Ruta = "C:\\Archivos de programa\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\"; SqlServerBackupRestore.RestoreHelper Restaura = new RestoreHelper(); Restaura.RestoreDatabase("prueba1", this.txtPhat.Text.Trim(), "AYALA\\AYALA", "sa", "4159", Ruta, Ruta); MessageBox.Show("La Base de Datos ha sido restaurada exitosamente !!!", "MENSAJE DEL SISTEMA"); MessageBox.Show("Debe iniciar nuevamente la sesion, para completar el proceso...", "MENSAJE DEL SISTEMA"); //buscar una forma de cerrar todas las ventanas abiertas nomas se cierra la actual //la pantalla principal se keda abierta... Close(); } }
/// <summary> /// Constructor. At the moment of the constructor call the site should not be inserted yet /// </summary> /// <param name="edgePar"></param> public SiteRemoveUndoAction(GeomEdge edgePar) : base((GeometryGraph)edgePar.GeometryParent) { this.editedEdge = edgePar; this.AddRestoreData(editedEdge, RestoreHelper.GetRestoreData(editedEdge)); }
/// <summary> /// Constructor. At the moment of the constructor call the site should not be inserted yet /// </summary> /// <param name="edgeToEdit"></param> public SiteInsertUndoAction(GeomEdge edgeToEdit) : base((GeometryGraph)edgeToEdit.GeometryParent) { this.editedEdge = edgeToEdit; this.AddRestoreData(editedEdge, RestoreHelper.GetRestoreData(editedEdge)); }
/// <summary> /// Gets the stride SDK dir. /// </summary> /// <returns></returns> internal static async Task <PackageInfo> FindStrideSdkDir(string solution, string packageName = "Stride.VisualStudio.Commands") { // Resolve the sdk version to load from the solution's package var packageInfo = new PackageInfo { ExpectedVersion = await PackageSessionHelper.GetPackageVersion(solution), SdkPaths = new List <string>() }; // Check if we are in a root directory with store/packages facilities var store = new NugetStore(null); NugetLocalPackage stridePackage = null; // Try to find the package with the expected version if (packageInfo.ExpectedVersion != null && packageInfo.ExpectedVersion >= MinimumVersion) { // Stride up to 3.0 if (packageInfo.ExpectedVersion < new PackageVersion(3, 1, 0, 0)) { stridePackage = store.GetPackagesInstalled(new[] { "Stride" }).FirstOrDefault(package => package.Version == packageInfo.ExpectedVersion); if (stridePackage != null) { var strideSdkDir = store.GetRealPath(stridePackage); packageInfo.LoadedVersion = stridePackage.Version; foreach (var path in new[] { // Stride 2.x and 3.0 @"Bin\Windows\Direct3D11", @"Bin\Windows", // Stride 1.x @"Bin\Windows-Direct3D11" }) { var fullPath = Path.Combine(strideSdkDir, path); if (Directory.Exists(fullPath)) { packageInfo.SdkPaths.AddRange(Directory.EnumerateFiles(fullPath, "*.dll", SearchOption.TopDirectoryOnly)); packageInfo.SdkPaths.AddRange(Directory.EnumerateFiles(fullPath, "*.exe", SearchOption.TopDirectoryOnly)); } } } } // Stride 3.1+ else { var logger = new Logger(); var(request, result) = await RestoreHelper.Restore(logger, NuGetFramework.ParseFrameworkName(".NETFramework,Version=v4.7.2", DefaultFrameworkNameProvider.Instance), "win", packageName, new VersionRange(packageInfo.ExpectedVersion.ToNuGetVersion())); if (result.Success) { packageInfo.SdkPaths.AddRange(RestoreHelper.ListAssemblies(request, result)); packageInfo.LoadedVersion = packageInfo.ExpectedVersion; } else { MessageBox.Show($"Could not restore {packageName} {packageInfo.ExpectedVersion}, this visual studio extension may fail to work properly without it." + $"To fix this you can either build {packageName} or pull the right version from nugget manually"); throw new InvalidOperationException($"Could not restore {packageName} {packageInfo.ExpectedVersion}."); } } } return(packageInfo); }
internal static void __Initialize__() { // Only perform this for entry assembly (which is null during module .ctor) if (Assembly.GetEntryAssembly() != null) { return; } // Make sure our nuget local store is added to nuget config var folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string xenkoFolder = null; while (folder != null) { if (File.Exists(Path.Combine(folder, @"build\Xenko.sln"))) { xenkoFolder = folder; var settings = NuGet.Configuration.Settings.LoadDefaultSettings(null); CheckPackageSource(settings, $"Xenko Dev {xenkoFolder}", Path.Combine(xenkoFolder, @"bin\packages")); break; } folder = Path.GetDirectoryName(folder); } // Note: we perform nuget restore inside the assembly resolver rather than top level module ctor (otherwise it freezes) AppDomain.CurrentDomain.AssemblyResolve += (sender, eventArgs) => { if (!assembliesResolved) { lock (assembliesLock) { // Note: using NuGet will try to recursively resolve NuGet.*.resources.dll, so set assembliesResolved right away so that it bypasses everything assembliesResolved = true; var logger = new Logger(); try { var(request, result) = RestoreHelper.Restore(logger, Assembly.GetExecutingAssembly().GetName().Name, new VersionRange(new NuGetVersion(XenkoVersion.NuGetVersion))).Result; if (!result.Success) { throw new InvalidOperationException($"Could not restore NuGet packages"); } assemblies = RestoreHelper.ListAssemblies(request, result); } catch (Exception e) { var logFile = Path.GetTempPath() + Guid.NewGuid().ToString() + ".txt"; var logText = $@"Error restoring NuGet packages! ==== Exception details ==== {e} ==== Log ==== {string.Join(Environment.NewLine, logger.Logs.Select(x => $"[{x.Level}] {x.Message}"))} "; File.WriteAllText(logFile, logText); #if XENKO_NUGET_RESOLVER_UX // Write log to file System.Windows.Forms.MessageBox.Show($"{e.Message}{Environment.NewLine}{Environment.NewLine}Please see details in {logFile} (which will be automatically opened)", "Error restoring NuGet packages"); Process.Start(logFile); #else // Display log in console Console.WriteLine(logText); #endif Environment.Exit(1); } } } if (assemblies != null) { var aname = new AssemblyName(eventArgs.Name); if (aname.Name.StartsWith("Microsoft.Build") && aname.Name != "Microsoft.Build.Locator") { return(null); } var assemblyPath = assemblies.FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == aname.Name); if (assemblyPath != null) { return(Assembly.LoadFrom(assemblyPath)); } } return(null); }; }