From 7eaab142101891cfbfc5b742927153a814bb940e Mon Sep 17 00:00:00 2001 From: Schwirg László Date: Wed, 28 Jul 2021 10:23:27 +0200 Subject: [PATCH] v1.6.3 - BackupPackage package list megjelenítésében levő hiba javítása --- Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs | 50 ++++++++++++++++++++++++++++++-------------------- Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs index 743b8c4..21ab648 100644 --- a/Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs +++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs @@ -70,37 +70,27 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS foreach (var p in sr.SelectedParameterList) { OnePackageToCreate(p.Parameters as BackupPackage,TS); } return o; } - private static void OnePackageToCreate(BackupPackage bp,DateTime? timestamp=null) + private static void OnePackageToCreate(BackupPackage bpck,DateTime? timestamp) { try { - //packaget - var packagets = (timestamp.HasValue ? timestamp.Value : DateTime.Now).ToString("yyyyMMddHHmmss"); - var vars = new Dictionary(); - vars.Add("PACKAGENAME", bp.Xml_PackageName); - vars.Add("PACKAGETS", packagets); - vars.Add("PACKAGEKEY", bp.Xml_Key); + var bp = bpck.ResolveNames(timestamp); var destinationfolder = Path.GetDirectoryName(bp.Xml_PackageFilePath); if (!Path.IsPathRooted(destinationfolder)) { destinationfolder = Path.Combine(Directory.GetCurrentDirectory(), destinationfolder); } if (!Directory.Exists(destinationfolder)) { Directory.CreateDirectory(destinationfolder); } var destinationfilename = Path.GetFileNameWithoutExtension(bp.Xml_PackageFilePath); - //string tempfolderpath = Tools.GetTemporaryFoldername(destinationfolder); - - destinationfilename = StringConstructor.ResolveConstructorR(vars, destinationfilename, "{}@@"); - destinationfolder = StringConstructor.ResolveConstructorR(vars, destinationfolder, "{}@@"); var temprootfolder=string.IsNullOrEmpty(bp.Xml_TempDirectoryPath) ? destinationfolder : bp.Xml_TempDirectoryPath; - string tempfolderpath = Path.Combine(temprootfolder, destinationfilename); if (Directory.Exists(tempfolderpath)) { Directory.Delete(tempfolderpath, true); } if (!Directory.Exists(tempfolderpath)) { Directory.CreateDirectory(tempfolderpath); } - foreach (var bf in bp.Xml_BackupFolderList) { BackupPackageManagerCore.FolderZipBackup(bf, tempfolderpath, vars); } + foreach (var bf in bp.Xml_BackupFolderList) { BackupPackageManagerCore.FolderZipBackup(bf, tempfolderpath); } foreach (var sqldb in bp.Xml_BackupSQLDataBaseList) { SQLDataBaseManagerNS.SQLDataBaseManager.Execute(sqldb.Xml_Key,sqldb.Xml_DBBackup,sqldb.Xml_ScriptBackup,sqldb.Xml_TableDataBackup, tempfolderpath, timestamp); } - BackupPackageManagerCore.CreatePackageFile(bp.Xml_PackageName, tempfolderpath, vars, destinationfilename,destinationfolder, bp.Xml_CreateExe, bp.Xml_SourceIncludeFilenameMaskList); + BackupPackageManagerCore.CreatePackageFile(bp.Xml_PackageName, tempfolderpath, destinationfilename,destinationfolder, bp.Xml_CreateExe, bp.Xml_SourceIncludeFilenameMaskList); if (Directory.Exists(tempfolderpath)) { Directory.Delete(tempfolderpath,true); } } catch (Exception ex) { ColorConsole.WriteLine(ex.MessageNested(), ConsoleColor.Red); } @@ -131,7 +121,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS #region private method: DisplayBackupPackageInfo private static object DisplayBackupPackageInfo(object obj, int lineix) { - BackupPackage bp = ((obj as Menu.ExecutorParameter).Parameters as BackupPackage); + BackupPackage xbp = ((obj as Menu.ExecutorParameter).Parameters as BackupPackage); + BackupPackage bp = (new BackupPackage(xbp)).ResolveNames(null); if (lineix == 0) { ColorConsole.Write($"{bp.Xml_PackageName}", ConsoleColor.Black, ConsoleColor.White); @@ -185,7 +176,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS /// BackupFolder descriptor /// the target directory path where the zip file is created /// filename substitution variables - public static void FolderZipBackup(BackupPackage.BackupFolder bf, string destinationfolderpath, Dictionary vars) + public static void FolderZipBackup(BackupPackage.BackupFolder bf, string destinationfolderpath) { string foldertobackuppath = bf.Xml_Path; @@ -198,8 +189,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS var destinationext = Path.GetExtension(destinationbackupfile); if (string.IsNullOrWhiteSpace(destinationext)) { destinationext = ".zip"; } destinationbackupfile = Path.Combine(destinationfolderpath, destinationfile+destinationext); - destinationbackupfile = VRH.Common.StringConstructor.ResolveConstructorR(vars, destinationbackupfile, "{}@@"); - if (File.Exists(destinationbackupfile)) { File.Delete(destinationbackupfile); } if (!Path.IsPathRooted(foldertobackuppath)) { foldertobackuppath = Path.Combine(Directory.GetCurrentDirectory(), foldertobackuppath); } @@ -216,7 +205,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS /// substitution vars /// if true, exe self extractor will be created, otherwise zip file; the extension of the package file is zip or exe /// comma separated list of masks for the files to include (NOT regex! "old fashioned" masking characters, like ?/* can be used) - public static void CreatePackageFile(string packagename,string sourcedirectorypath, Dictionary vars,string destinationfilename =null,string destinationfolder=null,bool createexe=true,string sourceincludefilenamemaskList=null) + public static void CreatePackageFile(string packagename,string sourcedirectorypath, string destinationfilename =null,string destinationfolder=null,bool createexe=true,string sourceincludefilenamemaskList=null) { string[] sourceinclfnamemasklist = sourceincludefilenamemaskList.Split(','); bool createselfextractor = createexe; @@ -228,7 +217,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS destinationfilename = destinationfilename??Path.GetFileNameWithoutExtension(sourcedirectorypath); string package___filepath = Path.Combine(destinationfolder, destinationfilename); - package___filepath=VRH.Common.StringConstructor.ResolveConstructorR(vars, package___filepath, "{}@@"); string packageEXEfilepath = package___filepath + ".exe"; string packageZIPfilepath = package___filepath + ".zip"; @@ -571,6 +559,28 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS } #endregion BackupSQLDataBase class + #region ResolveNames + public BackupPackage ResolveNames(DateTime? timestamp) + { + var rbp = new BackupPackage(this); + var packagets = timestamp.HasValue ? timestamp.Value.ToString("yyyyMMddHHmmss") : "yyyyMMddHHmmss"; + var vars = new Dictionary(); + vars.Add("PACKAGETS", packagets); + vars.Add("PACKAGEKEY", rbp.Xml_Key); + rbp.Xml_PackageName = StringConstructor.ResolveConstructorR(vars, rbp.Xml_PackageName, "{}@@"); + vars.Add("PACKAGENAME", rbp.Xml_PackageName); + rbp.Xml_Description = StringConstructor.ResolveConstructorR(vars, rbp.Xml_Description, "{}@@"); + foreach (var bf in rbp.Xml_BackupFolderList) + { + bf.Xml_BackupToFile = StringConstructor.ResolveConstructorR(vars, bf.Xml_BackupToFile, "{}@@"); + bf.Xml_Description = StringConstructor.ResolveConstructorR(vars, bf.Xml_Description, "{}@@"); + bf.Xml_Path = StringConstructor.ResolveConstructorR(vars, bf.Xml_Path, "{}@@"); + } + rbp.Xml_PackageFilePath = StringConstructor.ResolveConstructorR(vars, rbp.Xml_PackageFilePath, "{}@@"); + rbp.Xml_TempDirectoryPath = StringConstructor.ResolveConstructorR(vars, rbp.Xml_TempDirectoryPath, "{}@@"); + return rbp; + } + #endregion ResolveNames } #endregion BackupPackage class } diff --git a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs index d20bc7b..aea8aaa 100644 --- a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs +++ b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.6.2.0")] -[assembly: AssemblyFileVersion("1.6.2.0")] +[assembly: AssemblyVersion("1.6.3.0")] +[assembly: AssemblyFileVersion("1.6.3.0")] -- libgit2 0.21.2