using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Oracle.ManagedDataAccess.Client; using PayForApp.Business; namespace SoftCheck { public partial class Check : Form { public string host = ConfigurationManager.AppSettings["host"]; public string port = ConfigurationManager.AppSettings["port"]; public string service_name = ConfigurationManager.AppSettings["service_name"]; public string dbname = ConfigurationManager.AppSettings["dbname"]; public string UserName = ConfigurationManager.AppSettings["UserName"]; public string UserPwd = ConfigurationManager.AppSettings["UserPwd"]; public string Interval = ConfigurationManager.AppSettings["Interval"]; public Check() { InitializeComponent(); Timer checktime = new Timer(); checktime.Tick += new EventHandler(StartCheck); checktime.Interval = (Interval == "" ? 60 : int.Parse(Interval)) * 60 * 1000; checktime.Start(); } private void StartCheck(object sender, EventArgs e) { try { CheckSoft(ConfigurationManager.AppSettings["ServiceHO"]); } catch { try { CheckSoft(ConfigurationManager.AppSettings["ServiceHQ"]); } catch(Exception ex) { LogHelper.WriteServiceLog("版本校验:" + ex.Message); } } } public OracleConnection oraconn(string host, string port, string service_name, string UserName, string UserPwd) { string connstr = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = " + host + ")(PORT = " + port + "))" + "(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = " + service_name + "))); User ID=" + UserName + "; PassWord=" + UserPwd; OracleConnection conn = new OracleConnection(connstr); return conn; } private void CheckSoft(string service) { string _serverpart = ""; DataTable CheckTable; using (OracleConnection conn = oraconn(host, port, service_name, UserName, UserPwd)) { string _select = string.Format("SELECT SERVERPARTCODE,SF_TYPE,SF_BUILD,SF_CHECK,SF_CHECKDAY FROM {0}.T_SYSCODE ", dbname); try { DataSet _dataSet = new DataSet(); OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_select, conn); _OracleDataAdapter.Fill(_dataSet, "T_SYSCODE"); using (DataTable _dataTable = _dataSet.Tables["T_SYSCODE"]) { if (_dataTable.Rows.Count > 0) { foreach (DataRow _Row in _dataTable.Rows) { _serverpart += (_serverpart == "" ? "" : ",") + _Row["SERVERPARTCODE"].ToString(); } } } string[] str = { _serverpart }; CheckTable = JsonHepler.ToDataTable(WSHelper.InvokeWebService(service, "SoftCheck", str).ToString()); if (CheckTable.Rows.Count > 0) { foreach (DataRow _Row in CheckTable.Rows) { if (_Row["serverpart_code"].ToString() != "") { string _update = "UPDATE " + dbname + ".T_SYSCODE SET SF_CHECK = '" + _Row["sf_check"].ToString() + "' "; if (_Row["sf_type"].ToString() != "") { _update += " ,SF_TYPE = '" + _Row["sf_type"].ToString() + "' "; } if (_Row["sf_build"].ToString() != "") { _update += " ,SF_BUILD = '" + _Row["sf_build"].ToString() + "' "; } if (_Row["sf_checkday"].ToString() != "") { _update += " ,SF_CHECKDAY = '" + _Row["sf_checkday"].ToString() + "' "; } _update += " WHERE SERVERPARTCODE = '" + _Row["serverpart_code"].ToString() + "'"; try { conn.Open(); OracleCommand ocm = new OracleCommand(_update, conn); ocm.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { } } } } } catch (Exception ex) { throw new Exception(ex.Message); } } } } }