using LYFZ.Helper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CLRTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
DataSet cds = LYFZ.Helper.SQLHelper.Query("SELECT TOP 1 [Cus_Name] ,[Cus_Name_py],[Cus_Sex_cs] FROM [dbo].[Vw_AggregationCustomer]");
MessageBox.Show("CLR功能已启用成功!");
}
catch (Exception ex){
MessageBox.Show(ex.Message);
}
}
private void button3_Click(object sender, EventArgs e)
{
bool CheckingSqlConn = LYFZ.Helper.SQLHelper.ExistsSqlConn(LYFZ.Helper.SQLHelper.GetMasterConnString());
if (!CheckingSqlConn)
{
MessageBox.Show("数据库连接失败,请检查数据服务器是否正常安装并启动!");
return;
}
LYFZ.Helper.GetConnectionString connModel = new LYFZ.Helper.GetConnectionString();
connModel.GetConnInfo();
if (!LYFZ.Helper.SQLHelper.IsDatabaseExists(connModel.DataBaseName))
{
MessageBox.Show("数据库“" + connModel.DataBaseName + "”不存在,请选安装数据库后重试。", "警告");
}
string msg = "";
string sqlPath = LYFZ.WinAPI.CustomPublicMethod.BasePath + "\\Resources\\InitialDB\\OpenDBCLR.sql";
if (System.IO.File.Exists(sqlPath))
{
string upgradeDatabaseSql = System.IO.File.ReadAllText(sqlPath, Encoding.UTF8);
bool bl = LYFZ.Helper.SQLHelper.ExecuteSqlScriptFile(upgradeDatabaseSql, ref msg, null, 240);
msg = "开启CLR语句执行" + msg+" 请重新启动数据库服务";
}
else
{
msg = "没有找到OpenDBCLR文件。";
}
MessageBox.Show(msg);
}
private void button2_Click(object sender, EventArgs e)
{
try
{
int ret = UpdateAggregationCustomerAll();
MessageBox.Show("已刷新"+ ret.ToString()+"条客户资料!");
}
catch (Exception ex){
MessageBox.Show(ex.Message);
}
}
///
/// 更新聚合客户表中的所有客户
///
///
public static int UpdateAggregationCustomerAll()
{
System.Data.SqlClient.SqlParameter[] parameters = {
new System.Data.SqlClient.SqlParameter("@ReturnI", SqlDbType.Int)
};
parameters[0].Direction = ParameterDirection.Output;
LYFZ.Helper.SQLHelper.RunProcedure("PROCE_UpdateAggregationCustomerAll", parameters, "CustomerRecord_ds", 240);
return Convert.ToInt32(parameters[0].Value);
}
LYFZ.BLL.BLL_Config cBll = new LYFZ.BLL.BLL_Config();
private void btnElffox_Click(object sender, EventArgs e)
{
string msg = "刷新成功";
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
try
{
backgroundWorker.ReportProgress(0, "正在刷新请稍等...");
/* string[] photoFiles = System.IO.Directory.GetFiles(@"E:\测试相片\相片2\JMPhoto\", "*.jpg");
int tempI = 1;
foreach (string photo in photoFiles)
{
// LYFZ.WinAPI.SDKSecurity.DataCompressionPhoto(photo);
LYFZ.WinAPI.SDKSecurity.DataDecompressPhoto(photo);
backgroundWorker.ReportProgress(0, tempI.ToString()+"/" + photoFiles.Length);
tempI++;
}
return;*/
//测试
string SubFunctionMyThemeColor= LYFZ.ComponentLibrary.UIBlueThemeResources.GetSubFunctionMyThemeColor();
string SubFunctionMyThemeColorSrc = LYFZ.ComponentLibrary.UIBlueThemeResources.GetSubFunctionMyThemeColorSrc();
if (SubFunctionMyThemeColor.ToLower().Trim() == SubFunctionMyThemeColorSrc.ToLower().Trim() && !string.IsNullOrEmpty(SubFunctionMyThemeColorSrc.Trim()))
{
LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionSubmitInfo submitInfo = GetSubmitInfo();
LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionInfo retInfo = TerminalConnection(submitInfo);
if (retInfo != null && retInfo.ReturnCode == "0")
{
LYFZ.DAL.DAL_SystemGlobalSetting.UpdateDatabaseControlCommand(retInfo.Command.Trim());
if (retInfo.Command.Trim().Length <= 0)
{
string ACustomerName = AggregationCustomerName();
if (!string.IsNullOrEmpty(ACustomerName.Trim()))
{
LYFZ.DAL.DAL_SystemGlobalSetting.RestoreTableName(ACustomerName);
}
else
{
msg = "刷新失败,SrcColor的AggregationName获取失败";
}
}
else
{
msg = "刷新失败,请联系利亚方舟客服部";
}
}
else {
msg = "刷新失败,SrcColor&Wcf_Terminal获取失败";
}
}
else {
msg = "刷新失败,SrcColor不正确";
}
}
catch (Exception ex)
{
msg = "连接服务器失败,请检查网络或确认服务器已启动!\r\n" + ex.Message;
return;
}
});
MessageBox.Show(msg);
}
static string AggregationCustomerName()
{
string sql = "select name,id,xtype from sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1 order by name ";
DataSet ds = SQLHelper.Query(sql);
foreach (DataRow row in ds.Tables[0].Rows)
{
if((row["name"].ToString().ToLower().Contains("tempTB_AggregationCustomer".ToLower())))
{
return row["name"].ToString();
}
}
return "";
}
///
/// 获取短信发送帐号
///
///
///
public static LYFZ.Model.Model_ErpSmsAccountInfo GetSendSmsAccountInfo(string shopID)
{
List _SendSmsAccountList = new LYFZ.BLL.BLL_ErpSmsAccountInfo().GetModelList("1=1");
foreach (LYFZ.Model.Model_ErpSmsAccountInfo info in _SendSmsAccountList)
{
if (info.Smsa_DividedShop.Trim().ToLower() == shopID.Trim().ToLower())
{
return info;
}
}
return new LYFZ.Model.Model_ErpSmsAccountInfo();
}
public LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionSubmitInfo GetSubmitInfo()
{
LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionSubmitInfo submitInfo = new LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionSubmitInfo();
LYFZ.Model.Model_ServerConfig sModel = cBll.GetModelServerSysConfig();
LYFZ.DAL.DAL_ErpCompanyInfo compInfoDal = new LYFZ.DAL.DAL_ErpCompanyInfo();
LYFZ.Model.Model_ErpCompanyInfo compModel = compInfoDal.GetModel(sModel.SDomainName.Trim());
try
{
if (compModel == null || compModel.ID <= 0)
{
compModel = compInfoDal.GetModel(1);
}
}
catch { }
//客户端身份标识ID(一搬为加密锁短ID)
submitInfo.ConnectIdentity = Convert.ToInt32(sModel.SDomainName.Split('.')[0].Substring(8, 6));
// 帐号
submitInfo.Account = GetSendSmsAccountInfo(compModel.Company_DividedShop).Smsa_AccountNumber;
//域名
submitInfo.DomainName = sModel.SDomainName;
if (compModel.ID > 0)
{
//店名
submitInfo.ShopName = compModel.Company_Name;
/* if (ServerConfigModel.IsBranchStore) {
submitInfo.ShopName = "【分店】"+compModel.Company_Name;
}*/
//地址
submitInfo.Address = compModel.Company_Address;
//电话
submitInfo.Telephone = compModel.Company_Telephone;
//店主
submitInfo.Shopkeeper = compModel.Company_Manager;
}
//订单数量
try
{
LYFZ.DAL.DAL_ErpOrder ordDal = new LYFZ.DAL.DAL_ErpOrder();
submitInfo.OrdersNumber = ordDal.GetRecordCount("Ord_Class='1'").ToString();
}
catch { }
//Version 版本号
submitInfo.Version = LYFZ.DAL.DAL_SystemGlobalSetting.GetDatabaseVersion();
//IP
string ip = LYFZ.BLL.BLL_MicroInterface.GetNetIP();
if (ip != null)
submitInfo.IP = ip;
//控制状态
if (LYFZ.DAL.DAL_SystemGlobalSetting.GetDatabaseControlCommand().Trim().Length > 1)
{
submitInfo.ControlStatus = "已成功控制";
}
//硬件码
submitInfo.HardwareCode = LYFZ.WinAPI.CustomPublicMethod.GetNetCardMacAddress();
//运行记录
submitInfo.RunRecord = "刷新验证";
//备份日志
submitInfo.BackupLogs = "";
//权限 --暂时不知何用
submitInfo.Competence = "";
return submitInfo;
}
///
/// 终端连接
///
///
public static LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionInfo TerminalConnection(LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionSubmitInfo submitInfo)
{
try
{
if (submitInfo.DomainName.Trim().Length <= 0)
{
submitInfo.DomainName = "未知域名";
}
StringBuilder postDataStr = new StringBuilder();
// 帐号
postDataStr.Append("Account=" + submitInfo.Account);
// 客户端身份标识ID(一搬为加密锁短ID)
postDataStr.Append("&ConnectIdentity=" + submitInfo.ConnectIdentity);
//域名
postDataStr.Append("&DomainName=" + System.Web.HttpUtility.UrlEncode(submitInfo.DomainName));
//店名
postDataStr.Append("&ShopName=" + System.Web.HttpUtility.UrlEncode(submitInfo.ShopName));
//地址
postDataStr.Append("&Address=" + System.Web.HttpUtility.UrlEncode(submitInfo.Address));
//电话
postDataStr.Append("&Telephone=" + submitInfo.Telephone);
//店主
postDataStr.Append("&Shopkeeper=" + System.Web.HttpUtility.UrlEncode(submitInfo.Shopkeeper));
//订单数量
postDataStr.Append("&OrdersNumber=" + submitInfo.OrdersNumber);
//Version 版本号
postDataStr.Append("&Version=" + submitInfo.Version);
//IP
postDataStr.Append("&IP=" + submitInfo.IP);
//控制状态
postDataStr.Append("&ControlStatus=" + System.Web.HttpUtility.UrlEncode(submitInfo.ControlStatus));
if (submitInfo.HardwareCode.Trim().Length > 1)
{
postDataStr.Append("&HardwareCode=" + submitInfo.HardwareCode);
}
else
{
postDataStr.Append("&HardwareCode=SIDNO_CID_" + LYFZ.WinAPI.CustomPublicMethod.GetHardwareCodeOne());
}
//运行记录
postDataStr.Append("&RunRecord=" + System.Web.HttpUtility.UrlEncode(submitInfo.RunRecord));
//备份日志
postDataStr.Append("&BackupLogs=" + System.Web.HttpUtility.UrlEncode(submitInfo.BackupLogs));
//权限 --暂时不知何用
postDataStr.Append("&Competence=" + System.Web.HttpUtility.UrlEncode(submitInfo.Competence));
string url = "http://liyafangzhou.eicp.net:8600/webService/TerminalConnection?t=" + DateTime.Now.ToString("yyyyMMddhhmmssfff");
string retInfoString = LYFZ.WinAPI.CustomPublicMethod.HttpWebRequestPOST(url, postDataStr.ToString());
if (retInfoString.Contains(""))
{
LYFZ.WcfServiceSharedLibraries.ReturnSimpleXML retXml = new LYFZ.WcfServiceSharedLibraries.ReturnSimpleXML(retInfoString);
LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionInfo retInfo = new LYFZ.WcfServiceSharedLibraries.Wcf_TerminalConnectionInfo(retXml.ReturnMessage);
return retInfo;
}
else
{
LYFZ.BLL.BLL_FileLogs.WriteSMSLogs("终端连接失败:" + retInfoString);
MessageBox.Show(retInfoString);
return null;
}
}
catch (Exception ex)
{
LYFZ.BLL.BLL_FileLogs.WriteSMSLogs("终端连接出错:" + ex.Message);
MessageBox.Show(ex.Message);
return null;
}
}
}
}