/// <summary> /// Run all sql files in a folder /// </summary> /// <param name="folder"></param> void RunPatchSql(string folder, string dbFile) { string[] sqlFiles = Directory.GetFiles(folder, "*.sql"); foreach (var filePath in sqlFiles) { string sqlCommand = File.ReadAllText(filePath); try { string connString = string.Format(CONN_STRING, dbFile); using (SQLiteConnection conn = new SQLiteConnection(connString)) { using (var cmd = new SQLiteCommand(sqlCommand, conn)) { cmd.CommandType = CommandType.Text; if (conn.State != ConnectionState.Open) { conn.Open(); } cmd.ExecuteNonQuery(); } } } catch (Exception ex) { POSFtpClient.LogMessage(ex); } } }
/// <summary> /// Clear old folders /// </summary> void CleanOldTempFolders() { var folders = Directory.GetDirectories(m_tempFolder); Int64 pv = 0; Int64.TryParse(GetPOSVersion(), out pv); foreach (var folder in folders) { Int64 vf = 0; string f = folder.Substring(m_tempFolder.Length); f = f.Replace("\\", ""); Int64.TryParse(f, out vf); if (vf < pv) { try { Directory.Delete(folder, true); } catch (Exception ex) { POSFtpClient.LogMessage(ex); } } } }
/// <summary> /// 사전준비작업 /// </summary> void Step01_PrepareStarter() { if (!Directory.Exists(m_tempFolder)) { Directory.CreateDirectory(m_tempFolder); } // get ftp info string ftpServer = GetPOSConfig("PosFTP", "FtpSvrIP1"); string sFtpPort = GetPOSConfig("PosFTP", "FtpComPort1"); Int16 ftpPort = string.IsNullOrEmpty(sFtpPort) ? (Int16)21 : Convert.ToInt16(sFtpPort); string ftpUser = GetPOSConfig("PosFTP", "User"); string ftpUserPass = GetPOSConfig("PosFTP", "Pass"); m_ftpClient = new POSFtpClient(ftpServer, ftpPort, new System.Net.NetworkCredential() { UserName = ftpUser, Password = ftpUserPass }); m_ftpClient.ProgressChanged += new EventHandler <ProgressEventArgs>(m_ftpClient_ProgressChanged); m_ftpClient.ConnectionFailed += new EventHandler <ConnectionFailedEventArgs>(m_ftpClient_ConnectionFailed); m_localVersionFile = Path.Combine(m_tempFolder, VERSION_FILE); GetStorePosInfo(); // SERVER Upgrade경로 m_serverPOSFolder = GetPOSConfig("PosFTP", "VersionInfoPath"); // delete previous date folder version; CleanOldTempFolders(); }