private void BtnSave_Click(object sender, RoutedEventArgs e) { WaitBox wb = null; var t = new Thread(() => { wb = new WaitBox(); wb.ShowDialog();//不能用Show }); t.SetApartmentState(ApartmentState.STA); t.Start(); List <CircuitInfo> allCircuits; CacheGraph.GetCircuits(out allCircuits); var dbCircuits = allCircuits.Where(circuit => circuit.ParentCableId == Cable.CableId).ToList(); var curCircuits = _circuits.Select(circuit => circuit.Info).ToList(); CacheGraph.AddCircuits(curCircuits.Except(dbCircuits).ToList()); CacheGraph.DelCircuits(dbCircuits.Except(curCircuits).ToList()); List <DotInfo> alldots; CacheGraph.GetDos(out alldots); var dbDots = alldots.Where(dot => dot.ParentCableId == Cable.CableId).ToList(); var curDots = _dots.Select(dot => dot.Info).ToList(); CacheGraph.AddDots(curDots.Except(dbDots).ToList()); CacheGraph.DelDots(dbDots.Except(curDots).ToList()); CacheGraph.CacheSaveCable(); wb.Dispatcher.Invoke((Action)(() => wb.Close())); InfoBox.InfoMsg("保存成功"); }
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 = "******"; }
private void BtnOk_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(TbProductName.Text.Trim())) { InfoBox.ErrorMsg("请输入产品名称"); return; } bool isProductNameExist; if (!CacheGraph.IsCableNameExist(CableInfo, TbProductName.Text.Trim(), out isProductNameExist)) { return; } if (isProductNameExist) { InfoBox.ErrorMsg("产品已存在"); return; } CableInfo.CableName = TbProductName.Text.Trim(); CableInfo.Remark = TbRemark.Text.Trim(); CableInfo.ModifyDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); if (_flagIsAdd) { CacheGraph.AddCable(CableInfo); } CacheGraph.CacheAddCable(); InfoBox.InfoMsg("保存成功!"); Close(); }
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()); }
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());; }
private void Window_Loaded() { _dots = new ObservableCollection <Dot>(); _circuits = new ObservableCollection <Circuit>(); #region 初始化图层 //高亮蒙版 _maskCanvas = new Canvas { Opacity = 0 }; Panel.SetZIndex(_maskCanvas, MaskLayer); //图层 ZoomCanvas.Children.Add(_maskCanvas); //选择框 _selectCanvas = new Canvas { Opacity = 0 }; ZoomCanvas.Children.Add(_selectCanvas); //辅助线 _auxiliaryLineCanvas = new Canvas { Opacity = 0 }; ZoomCanvas.Children.Add(_auxiliaryLineCanvas); #endregion //回路 CircuitsTreeView.ItemsSource = _circuits; List <CircuitInfo> allCircuits; CacheGraph.GetCircuits(out allCircuits); var circuits = allCircuits.Where(circuit => circuit.ParentCableId == Cable.CableId); foreach (var circuit in circuits) { GraphAddCircuit(circuit); } //点 List <DotInfo> alldots; CacheGraph.GetDos(out alldots); foreach (var circuit in _circuits) { var dots = alldots.Where(dot => (dot.ParentCableId == Cable.CableId && dot.ParentCircuitId == circuit.Info.CircuitId)) .ToList(); foreach (var dotInfo in dots) { GraphAddDot(dotInfo, circuit); } circuit.GetAllLines(_zoomScale); } LoadPointLocation(); //信息 LbCableName.Content = Cable.CableName; LbRemark.Content = Cable.Remark; LbOperator.Content = User.UserName; //背景 InitBgConfig(); }
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 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); }
private void Window_Loaded() { _dots = new ObservableCollection <Dot>(); _circuits = new ObservableCollection <Circuit>(); //错误线 _errorLineCanvas = new Canvas(); ZoomCanvas.Children.Add(_errorLineCanvas); List <CircuitInfo> allCircuits; CacheGraph.GetCircuits(out allCircuits); var circuits = allCircuits.Where(circuit => circuit.ParentCableId == Cable.CableId); foreach (var circuit in circuits) { GraphAddCircuit(circuit); } List <DotInfo> alldots; CacheGraph.GetDos(out alldots); foreach (var circuit in _circuits) { var dots = alldots.Where(dot => (dot.ParentCableId == Cable.CableId && dot.ParentCircuitId == circuit.Info.CircuitId)) .ToList(); foreach (var dotInfo in dots) { GraphAddDot(dotInfo, circuit); } circuit.GetAllLines(_zoomScale); } LoadPointLocation(); LbCableName.Content = Cable.CableName; LbRemark.Content = Cable.Remark; LbOperator.Content = User.UserName; InitBgConfig(); CreateBarControl(); LoadCheckSetting(); }
private void Tick(object sender, System.Timers.ElapsedEventArgs e) { CpuGraph?.Update(IServerLoad.CpuUsagePercent); MemoryGraph?.Update(IServerLoad.MemoryUsageMb); TotalThreadPoolThreadsGraph?.Update(ThreadPool.ThreadCount); TotalApplicationThreadsGraph?.Update(CurrentProcess.Threads.Count); ThreadPool.GetAvailableThreads(out _, out var ports); ThreadPoolCompletionPortsGraph?.Update(ports); ThreadPoolJobsCompletedPerSecondGraph?.Update(ThreadPool.CompletedWorkItemCount - LastAmountOfJobs); ThreadPoolJobsQueuedGraph?.Update(ThreadPool.PendingWorkItemCount); LastAmountOfJobs = ThreadPool.CompletedWorkItemCount; TotalProcessHandlesGraph?.Update(CurrentProcess.HandleCount); HttpBusyThreadsGraph?.Update(IServerLoad.GetHttpActiveThreads()); HttpFileTransfersGraph?.Update(IServerLoad.GetHttpActiveThreads()); HttpRequestsPerSecondGraph?.Update(IServerLoad.GetHttpRequestRate()); HttpFileTransferRateKbPsGraph?.Update(IServerLoad.GetHttpRateKbPerSecond()); ExceptionGraph?.Update(_exceptionsLastTick); CacheGraph?.Update(IServerLoad.GetCacheSizeKb() / 1024); _exceptionsLastTick = 0; CurrentProcess.Refresh(); Page.Update(); }
public bool SaveCable() { if (string.IsNullOrEmpty(CableInfo.CableName)) { InfoBox.ErrorMsg("请输入产品名"); return(false); } bool isProductNameExist; CacheGraph.IsCableNameExist(CableInfo, CableInfo.CableName, out isProductNameExist); if (isProductNameExist) { InfoBox.ErrorMsg("产品名已存在"); return(false); } CableInfo.ModifyDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); CableInfo.CreateUser = UserInfo.UserName; if (_shortCircuitInfoResult == null) { InfoBox.InfoMsg("请取样"); return(false); } //加线 CacheGraph.AddCable(CableInfo); var circuitId = 1; var dotId = 1; foreach (var circuit in _shortCircuitInfoResult) { //加回路 var circuitInfo = new CircuitInfo { ParentCableId = CableInfo.CableId, CircuitId = circuitId }; circuitInfo.Name = "回路" + circuitInfo.CircuitId; CacheGraph.AddCircuit(circuitInfo); foreach (var dot in circuit) { //加点 var dotInfo = new DotInfo { ParentCableId = CableInfo.CableId, ParentPlugId = 0, ParentCircuitId = circuitId, DotId = dotId, PhyAddr = dot, Name = "点" + dotId, Position = new Point(20 + 20 * circuit.IndexOf(dot), 20 + 20 * circuitId) }; CacheGraph.AddDot(dotInfo); dotId++; } circuitId++; } InfoBox.InfoMsg(CacheGraph.CacheCopyCable() ? "保存成功" : "保存失败"); return(true); }