using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Learun.Util; namespace Quanjiang.DigitalScholl.DataSync { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btcheck_Click(object sender, EventArgs e) { if (tbsource.Text.Trim() != "" && tbtarget.Text.Trim() != "") { //写 var opencon = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); opencon.ConnectionStrings.ConnectionStrings["source"].ConnectionString = tbsource.Text.Trim(); opencon.ConnectionStrings.ConnectionStrings["target"].ConnectionString = tbtarget.Text.Trim(); opencon.ConnectionStrings.ConnectionStrings["missource"].ConnectionString = tbmissource.Text.Trim(); opencon.ConnectionStrings.ConnectionStrings["mistarget"].ConnectionString = tbmistarget.Text.Trim(); opencon.Save(ConfigurationSaveMode.Full); //连 if (Check().Result) { rtblog.AppendText("数据库连接成功!\r\n"); btsync.Enabled = true; } else { btcheck.Enabled = true; } } else { MessageBox.Show("请输入连接字符串"); } } public async Task Check() { btcheck.Enabled = false; bool result = false; result = await CheckConnection(tbsource.Text.Trim(), "源"); if (result) { rtblog.AppendText("源数据库连接成功...\r\n"); } result = result && await CheckConnection(tbtarget.Text.Trim(), "目标"); if (result) { rtblog.AppendText("目标数据库连接成功...\r\n"); } result = result && await CheckConnection(tbmissource.Text.Trim(), "源mis"); if (result) { rtblog.AppendText("源mis数据库连接成功...\r\n"); } result = result && await CheckConnection(tbmistarget.Text.Trim(), "目标mis"); if (result) { rtblog.AppendText("目标mis数据库连接成功...\r\n"); } return result; } public async Task CheckConnection(string conn, string target) { MainService main = new MainService(); rtblog.AppendText("开始检测" + target + "数据库连接...\r\n"); var result = await main.CheckConnection(conn); if (!result.result) { rtblog.AppendText(target + "数据库连接失败,请检查网络和连接字符串!\r\n"); rtblog.AppendText(result.errormessage + "\r\n"); } return result.result; } private void btsync_Click(object sender, EventArgs e) { if (clbmodule.CheckedItems.Count == 0) { MessageBox.Show("请选择要同步的模块"); return; } MainService main = new MainService(); bool result = Task.Run(() => main.BeginSync(clbmodule.CheckedItems)).Result; if (result) { MessageBox.Show("同步完成"); btsync.Enabled = true; } } private void Form1_Load(object sender, EventArgs e) { tbsource.Text = ConfigurationManager.ConnectionStrings["source"].ConnectionString; tbtarget.Text = ConfigurationManager.ConnectionStrings["target"].ConnectionString; tbmissource.Text = ConfigurationManager.ConnectionStrings["missource"].ConnectionString; tbmistarget.Text = ConfigurationManager.ConnectionStrings["mistarget"].ConnectionString; } Thread mainthread = null; private void btsynccore_Click(object sender, EventArgs e) { Program.beginTable = txtBeginTable.Text; ThreadStart threadstart = new ThreadStart(TransferCoreData); mainthread = new Thread(threadstart); mainthread.Name = "main"; mainthread.Start(); } private void btsyncmis_Click(object sender, EventArgs e) { Program.beginTable = txtBeginTable.Text; ThreadStart threadstart = new ThreadStart(TransferMisData); mainthread = new Thread(threadstart); mainthread.Name = "main"; mainthread.Start(); } public void TransferCoreData() { SyncWindow progress = new SyncWindow("core"); progress.ShowDialog(); } public void TransferMisData() { SyncWindow progress = new SyncWindow("mis"); progress.ShowDialog(); } private void 查找密码为123456的ToolStripMenuItem_Click(object sender, EventArgs e) { MainService mainService = new MainService(); DataTable dtuserlist = mainService.GetDataTableResult("source", "select * from LR_Base_User where F_EnabledMark=1 and F_DeleteMark=0"); for (int i = 0; i < dtuserlist.Rows.Count; i++) { string md5pwd=Md5Helper.Hash("123456"); string dbPassword = Md5Helper.Encrypt(DESEncrypt.Encrypt(md5pwd, dtuserlist.Rows[i]["F_Secretkey"].ToString()).ToLower(), 32).ToLower(); if (dbPassword == dtuserlist.Rows[i]["F_Password"].ToString()) { rtblog.AppendText("帐户"+dtuserlist.Rows[i]["F_Account"]+" 姓名:"+ dtuserlist.Rows[i]["F_RealName"] + "\r\n"); } } } } }