public static bool Send(byte[] data) { try { if (_cpldSocket == null) { Connect(); } else if (_cpldSocket.Connected == false) { Connect(); } if (_cpldSocket == null || !_cpldSocket.Connected) { return(false); } _cpldSocket.SendTimeout = 3000; _cpldSocket.Send(data); return(true); } catch (TimeoutException ex) { LogControl.LogError(ex); Disconnected(); return(false); } catch (Exception ex) { LogControl.LogError(ex); Disconnected(); return(false); } }
private void ChangeImg() { try { var bgImage = new BitmapImage(new Uri(Cable.BgImgPath, UriKind.Absolute)); ImgBackGround.Source = bgImage; _zoomHeight = bgImage.Height; _zoomWidth = bgImage.Width; ZoomCanvas.Height = bgImage.Height * _zoomScale;//触发缩放 ZoomCanvas.Width = bgImage.Width * _zoomScale; } catch (Exception e) { LogControl.LogError("图片选择错误或丢失" + e); InfoBox.ErrorMsg("请选择正确的图片"); if (_dots != null && _dots.Count > 0) { _zoomHeight = Math.Max(_dots.Max(x => x.Info.Position.Y) + 50, 600); _zoomWidth = Math.Max(_dots.Max(x => x.Info.Position.X) + 50, 800); } else { _zoomHeight = 600; _zoomWidth = 800; } ZoomCanvas.Height = _zoomHeight * _zoomScale; ZoomCanvas.Width = _zoomWidth * _zoomScale; } }
public bool CopyCable() { if (SelectedCable == null) { InfoBox.InfoMsg("请选择产品"); return(false); } var mbr = MessageBox.Show("确定要复制选中的记录吗?", "提示信息", MessageBoxButton.OKCancel, MessageBoxImage.Information); if (mbr != MessageBoxResult.OK) { return(true); } if (!CacheGraph.CopyCable(SelectedCable, _user.UserName)) { InfoBox.ErrorMsg("数据库访问失败,请联系管理员"); return(false); } if (!CacheGraph.CacheCopyCable()) { LogControl.LogError("写入样线数据库失败"); return(false); } return(UpdataCableGrid()); }
private void Image_MouseDown(object sender, MouseButtonEventArgs e) { try { var mbr = MessageBox.Show("确认关闭计算机?", "提示信息", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (mbr != MessageBoxResult.OK) { return; } var mp = new Process { StartInfo = { FileName = "cmd.exe", RedirectStandardInput = true, RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true } }; mp.Start(); mp.StandardInput.WriteLine("shutdown -s -t 0"); } catch (Exception) { LogControl.LogError("Close Computer Cxception"); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { BtnLogout.IsEnabled = false; DbCommon.InitDbConn(); var cache = new CacheGraph(); if (!cache.CacheInit()) { LogControl.LogError("缓存数据初始化失败"); return; } DisableAllOperation(); LoadMachineSetting(); _checkConnStateThread = new Thread(CheckConnState); _checkConnStateThread.Start(); if (!CpldBase.CustomizeVersion.Debug) { return; } TbUsername.Text = "admin"; TbPassword.Password = "******"; }
public static bool BeginPointCheck(out List <string> pointList) { ResultData = null; pointList = null; var sendData = CommandData.GetCommandData(CommandType.PointCheck); SendCommand(sendData); ReceiveResult(); if (ResultData == null || ResultData.Length < 8) { LogControl.LogError("result null or resultdata length < 8"); return(false); } if (ResultData[0] != 0) { return(false); } try { DataParser.PointCircuitParser.SearchPointParse(ResultData, out pointList); return(true); } catch (Exception ex) { LogControl.LogError(ex); return(false); } }
public bool DelCable() { if (SelectedCable == null) { InfoBox.InfoMsg("请选择产品"); return(false); } var mbr = MessageBox.Show("确定要删除选中的记录吗?", "提示信息", MessageBoxButton.OKCancel, MessageBoxImage.Information); if (mbr != MessageBoxResult.OK) { return(true); } if (!CacheGraph.DelCable(SelectedCable)) { LogControl.LogError("删除样线缓存失败"); return(false); } if (!CacheGraph.CacheDelCable()) { LogControl.LogError("写入样线数据库失败"); return(false); } CpldControl.Bartend.BartendControl.DelBartendFiles(SelectedCable.CableName); return(UpdataCableGrid());; }
public static bool ImportSqlFile(string varFileName) { const string sql = "DROP DATABASE IF EXISTS tds_data; CREATE DATABASE tds_data"; if (!NonQueryData(sql)) { return(false); } using (var reader = new StreamReader(varFileName, System.Text.Encoding.GetEncoding("utf-8"))) { try { var line = ""; while (true) { if (line.EndsWith(";")) { line = ""; } var l = reader.ReadLine(); if (l == null) { break; } l = l.TrimEnd(); if (l == "") { continue; } if (l.StartsWith("--")) { continue; } line += l; if (!line.EndsWith(";")) { continue; } if (line.StartsWith("/*!")) { continue; } NonQueryData(line); } } catch (Exception) { InfoBox.ErrorMsg("导入失败"); LogControl.LogError("导入数据失败"); return(false); } } return(true); }
private void Window_Unloaded(object sender, RoutedEventArgs e) { CpldBase.ThreadFlags.ConnStatCheck = false; try { _checkConnStateThread.Abort(); } catch (Exception ex) { LogControl.LogError(ex); } }
public bool SearchCable() { List <CableInfo> cableList; if (!CacheGraph.GetCablesByName(out cableList, SearchText)) { LogControl.LogError("搜索样线缓存失败"); return(false); } CableList.Clear(); foreach (var cable in cableList) { CableList.Add(cable); } return(true); }
private static bool UpdateSettingToFile() { try { var sw = new StreamWriter("cfg.ini", false); sw.WriteLine(Settings.IsDelayScan? "1": "0"); sw.WriteLine(Settings.IsShareSerial? "1": "0"); sw.WriteLine(Settings.DelayTime); sw.Close(); return(true); } catch (Exception ex) { LogControl.LogError(ex); return(false); } }
private bool UpdataCableGrid() { List <CableInfo> cableList; if (!CacheGraph.GetCables(out cableList)) { LogControl.LogError("读取样线缓存失败"); return(false); } CableList.Clear(); foreach (var cable in cableList) { CableList.Add(cable); } return(true); }
public GraphicalCableCheck(CableInfo cable, UserInfo user) { InitializeComponent(); if (cable == null) { LogControl.LogError("选择样线失败,空样线信息"); return; } Cable = cable; if (user == null) { LogControl.LogError("选择样线失败,空用户信息"); return; } User = user; Window_Loaded(); }
private static void ConnectCallBack(IAsyncResult ar) { try { if (_cpldSocket == null || !_cpldSocket.Connected) { return; } var client = (Socket)ar.AsyncState; client.EndConnect(ar); ConnectDone.Set(); } catch (Exception ex) { LogControl.LogError(ex.ToString()); } }
public static bool Receive(out List <byte> recvList) { recvList = new List <byte>(); if (_cpldSocket == null) { return(false); } if (_cpldSocket.Connected == false) { return(false); } try { _cpldSocket.ReceiveTimeout = ReceiveTimeout; var dataTotalLen = -1; var recvLoopCount = 0; do { var recvData = new byte[1024]; var recvLen = _cpldSocket.Receive(recvData); recvLoopCount++; var tmp = new byte[recvLen]; Array.ConstrainedCopy(recvData, 0, tmp, 0, recvLen); recvList.AddRange(tmp); dataTotalLen = Convert.ToInt32( Convert.ToString(recvList[5], 16).PadLeft(2, '0') + Convert.ToString(recvList[4], 16).PadLeft(2, '0'), 16); } while (recvList.Count < dataTotalLen + 8 || recvLoopCount > 100); if (recvLoopCount <= 100) { return(true); } LogControl.LogError("Loop timeout"); return(false); } catch (Exception ex) { LogControl.LogError(ex); return(false); } }
public static bool BeginSampleCheck(out bool isNoShortCircuit, out List <List <string> > shortCircuitInfoResult, out int pointNo, out int circuitNo) { ResultData = null; shortCircuitInfoResult = null; isNoShortCircuit = false; pointNo = 0; circuitNo = 0; var sendData = CommandData.GetCommandData(CommandType.SampleCheck); if (!SendCommand(sendData)) { LogControl.LogError("Send fail"); return(false); } if (!ReceiveResult()) { LogControl.LogError("Receive Fail"); return(false); } if (ResultData == null || ResultData.Length < 8) { LogControl.LogError("result null or resultdata length < 8"); return(false); } if (ResultData[0] != 0) { isNoShortCircuit = true; return(true); } try { DataParser.SelfCheckParser.SelfCheckParse(ResultData, out shortCircuitInfoResult, out pointNo, out circuitNo); return(true); } catch (Exception ex) { LogControl.LogError(ex); return(false); } }
public static void Disconnected() { try { if (_cpldSocket == null) { return; } _cpldSocket.Shutdown(SocketShutdown.Both); Thread.Sleep(10); _cpldSocket.Close(); LogControl.LogError("receive timeout"); } catch (Exception ex) { LogControl.LogError(ex.ToString()); } }
public static void Connect() { try { _remoteHost = Params.ServerHost; var ipAddress = IPAddress.Parse(_remoteHost); var remoteEp = new IPEndPoint(ipAddress, RemotePort); _cpldSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _cpldSocket.BeginConnect(remoteEp, ConnectCallBack, _cpldSocket); if (!ConnectDone.WaitOne(1000, false)) //5 sec timeout { LogControl.LogError("connect time out"); } } catch (Exception ex) { LogControl.LogError("connect error " + ex); } }
public static void Reconnect() { try { if (_cpldSocket.Connected) { _cpldSocket.Shutdown(SocketShutdown.Both); _cpldSocket.Disconnect(true); //cpldSocket.Connected = false; _cpldSocket.Close(); } _cpldSocket = null; } catch (Exception ex) { LogControl.LogError("reconnect error " + ex); } Connect(); }
public static bool SelectDots(out List <DotInfo> dots) { const string querySql = "SELECT * FROM points"; DataTable dt; dots = new List <DotInfo>(); if (!QueryData(querySql, out dt)) { return(false); } try { for (var i = 0; i < dt.Rows.Count; i++) { var tmpDotInfo = new DotInfo { ParentCableId = Convert.ToInt32(dt.Rows[i][0].ToString()), DotId = Convert.ToInt32(dt.Rows[i][1].ToString()), ParentPlugId = Convert.ToInt32(dt.Rows[i][2].ToString()), ParentCircuitId = Convert.ToInt32(dt.Rows[i][3].ToString()), PhyAddr = dt.Rows[i][4].ToString(), Name = dt.Rows[i][5].ToString(), DotStyle = new Style { Type = Convert.ToInt32(dt.Rows[i][6].ToString()), Size = Convert.ToInt32(dt.Rows[i][7].ToString()), ForegroundColor = (Color)ColorConverter.ConvertFromString(dt.Rows[i][8].ToString()), BackgroundColor = (Color)ColorConverter.ConvertFromString(dt.Rows[i][9].ToString()) }, Position = new Point(Convert.ToInt32(dt.Rows[i][10].ToString()), Convert.ToInt32(dt.Rows[i][11].ToString())) }; dots.Add(tmpDotInfo); } } catch (Exception e) { LogControl.LogError(e); } return(true); }
protected static bool NonQueryData(string querySql) { var cmd = new MySqlCommand(querySql, _conn); try { _conn.Open(); cmd.ExecuteNonQuery(); return(true); } catch (Exception ex) { InfoBox.ErrorMsg("数据库操作错误,请检查数据库连接或联系管理员"); LogControl.LogError("db operation error", ex); return(false); } finally { _conn.Close(); } }
private void InitBgConfig() { if (!string.IsNullOrWhiteSpace(Cable.BgImgPath)) { //有图 try { var bgImage = new BitmapImage(new Uri(Cable.BgImgPath, UriKind.Absolute)); ImgBackGround.Source = bgImage; _zoomHeight = bgImage.Height; _zoomWidth = bgImage.Width; ZoomCanvas.Height = bgImage.Height * _zoomScale; //触发缩放 ZoomCanvas.Width = bgImage.Width * _zoomScale; return; } catch (Exception e) { InfoBox.ErrorMsg("请配置正确的图片路径"); LogControl.LogError(e); } } //没图或图片读取失败 ImgBackGround.Source = null; if (_dots != null && _dots.Count > 0) { _zoomHeight = Math.Max(_dots.Max(x => x.Info.Position.Y) + 50, 600); _zoomWidth = Math.Max(_dots.Max(x => x.Info.Position.X) + 50, 800); } else { _zoomHeight = 600; _zoomWidth = 800; } ZoomCanvas.Height = _zoomHeight * _zoomScale; ZoomCanvas.Width = _zoomWidth * _zoomScale; }
protected static bool QueryData(string querySql, out DataTable dt) { var cmd = new MySqlCommand(querySql, _conn); dt = new DataTable(); try { _conn.Open(); var reader = cmd.ExecuteReader(); dt.Load(reader); return(true); } catch (Exception ex) { InfoBox.ErrorMsg("数据库操作错误,请检查数据库连接或联系管理员"); LogControl.LogError("db operation error", ex); return(false); } finally { _conn.Close(); } }
protected static bool NonQueryData(string querySql, DataTable dt) { var dataAdapter = new MySqlDataAdapter(); try { _conn.Open(); dataAdapter.SelectCommand = new MySqlCommand(querySql, _conn); var mySqlCommandBuilder = new MySqlCommandBuilder(dataAdapter); dataAdapter.Update(dt); return(true); } catch (Exception ex) { InfoBox.ErrorMsg("数据库操作错误,请检查数据库连接或联系管理员"); LogControl.LogError("db operation error", ex); return(false); } finally { _conn.Close(); } }
private void btnLogin_Click(object sender, RoutedEventArgs e) { bool isVerified; if (!DbUser.UserLogin(TbUsername.Text.Trim(), TbPassword.Password.Trim(), out isVerified, out _user)) { return; } if (_user.UserLevel == 0) { App.UnlockOper(); } else { App.LockOper(); } if (!isVerified) { CpldBase.InfoBox.InfoMsg("用户名或密码错误"); return; } try { var iUserAuthen = Array.ConvertAll(_user.UserAuthen.Split(','), int.Parse); EnableVerifiedOperation(iUserAuthen); BtnLogin.IsEnabled = false; BtnLogout.IsEnabled = true; TbUsername.IsEnabled = false; TbPassword.IsEnabled = false; } catch (Exception ex) { LogControl.LogError("user level string parse error", ex); } }
public GraphicalConfigCircuit(CircuitInfo circuit) { InitializeComponent(); CmbLineColors.ItemsSource = typeof(Colors).GetProperties(); CmbDotFgColors.ItemsSource = typeof(Colors).GetProperties(); CmbDotBgColors.ItemsSource = typeof(Colors).GetProperties(); CurCircuit = circuit; Grid.DataContext = CurCircuit; foreach (var item in typeof(Colors).GetProperties()) { try { var color = (Color)ColorConverter.ConvertFromString(item.Name); if (color == circuit.LineStyle.ForegroundColor) { CmbLineColors.SelectedItem = typeof(Colors).GetProperty(item.Name); } if (color == circuit.DotStyle.ForegroundColor) { CmbDotFgColors.SelectedItem = typeof(Colors).GetProperty(item.Name); } if (color == circuit.DotStyle.BackgroundColor) { CmbDotBgColors.SelectedItem = typeof(Colors).GetProperty(item.Name); } } catch (Exception e) { LogControl.LogError(e); } } CmbLineWidth.SelectedIndex = Convert.ToInt32(circuit.LineStyle.Size) - 1; }
private void cbBar_DropDownClosed(object sender, EventArgs e) { try { TbBarFieldContent.Text = ""; ChkEditable.IsChecked = false; ChkEditable.IsEnabled = true; switch (CbBar.SelectedIndex) { case 0: TbBarValueLen.IsEnabled = true; TbBarFieldContent.IsEnabled = false; TbBarFieldContent.Text = ""; TbBarFieldName.IsEnabled = true; TbBarFieldName.Text = ""; TbBarValueLen.Text = ""; break; case 1: TbBarValueLen.IsEnabled = false; TbBarFieldContent.IsEnabled = true; TbBarFieldName.IsEnabled = true; TbBarFieldName.Text = ""; TbBarValueLen.Text = "0"; break; case 2: TbBarValueLen.IsEnabled = false; TbBarValueLen.Text = "2"; TbBarFieldContent.Text = ""; TbBarFieldContent.IsEnabled = false; TbBarFieldName.IsEnabled = false; TbBarFieldName.Text = "月"; ChkEditable.IsEnabled = false; break; case 3: TbBarValueLen.IsEnabled = false; TbBarValueLen.Text = "2"; TbBarFieldContent.Text = ""; TbBarFieldContent.IsEnabled = false; TbBarFieldName.IsEnabled = false; TbBarFieldName.Text = "日"; ChkEditable.IsEnabled = false; break; case 4: TbBarValueLen.IsEnabled = false; TbBarValueLen.Text = "2"; TbBarFieldContent.Text = ""; TbBarFieldContent.IsEnabled = false; TbBarFieldName.IsEnabled = false; TbBarFieldName.Text = "年"; ChkEditable.IsEnabled = false; break; default: break; } } catch (Exception exception) { LogControl.LogError(exception); } }
private void DrawErrorLines(IEnumerable <List <string> > shortCircuitList, IEnumerable <List <string> > openCircuitList) { try { foreach (var circuit in openCircuitList) { var info = new CircuitInfo { CircuitId = -1, LineStyle = new CpldDB.Style { Type = 1, Size = 2, ForegroundColor = Colors.Red, BackgroundColor = Colors.Transparent, }, DotStyle = new CpldDB.Style { Type = 1, Size = 4, ForegroundColor = Colors.Transparent, BackgroundColor = Colors.Transparent, }, }; var tmpCircuit = new Circuit(info); foreach (var dot in circuit) { if (_phyAddrMapToDot.ContainsKey(dot)) { tmpCircuit.CircuitDots.Add((Dot)_phyAddrMapToDot[dot]); } } tmpCircuit.GetAllLines(_zoomScale); _errorLineCanvas.Children.Add(tmpCircuit.CircuitCanvas); } foreach (var circuit in shortCircuitList) { var info = new CircuitInfo { CircuitId = -1, LineStyle = new CpldDB.Style { Type = 2, Size = 6, ForegroundColor = Colors.Green, BackgroundColor = Colors.Transparent, }, DotStyle = new CpldDB.Style { Type = 1, Size = 4, ForegroundColor = Colors.Transparent, BackgroundColor = Colors.Transparent, }, }; var tmpCircuit = new Circuit(info); foreach (var dot in circuit) { if (_phyAddrMapToDot.ContainsKey(dot)) { tmpCircuit.CircuitDots.Add((Dot)_phyAddrMapToDot[dot]); } } tmpCircuit.GetAllLines(_zoomScale); _errorLineCanvas.Children.Add(tmpCircuit.CircuitCanvas); } } catch (Exception e) { LogControl.LogError(e); throw; } }