Пример #1
0
        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("保存成功");
        }
Пример #2
0
        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();
        }
Пример #4
0
        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());
        }
Пример #5
0
        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());;
        }
Пример #6
0
        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();
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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();
        }
Пример #10
0
 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();
 }
Пример #11
0
        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);
        }