127 lines
5.3 KiB
C#
127 lines
5.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|