Exemplo n.º 1
0
        private void ExecuteDeleteSubscribeSettingCommand(object deleteItem)
        {
            var subscribeModel = deleteItem as SubscribeModel;

            if (subscribeModel == null)
            {
                return;
            }
            //检查接收标志位(若为true则不允许删除配置)
            if (SynchronousSocketManager.Instance.ReceivingFlag)
            {
                MessageBox.Show("当前正在接收,不允许删除任何接收配置项!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            //删除接收配置
            SubscribeCollection.Remove(subscribeModel);
            ConfigHelper.Instance.SaveSettings();
            //删除接收配置后,综合接收配置决定是否通知监控端删除订阅信息
            Task.Factory.StartNew(() =>
            {
                if (SubscribeCollection.FirstOrDefault(s => s.MonitorIP == subscribeModel.MonitorIP && s.MonitorAlias == subscribeModel.MonitorAlias) == null)
                {
                    SynchronousSocketManager.Instance.SendUnregisterSubscribeInfo(UtilHelper.Instance.GetIPEndPoint(string.Format("{0}:{1}", subscribeModel.MonitorIP, subscribeModel.MonitorListenPort)), subscribeModel.MonitorAlias);
                }
            });
        }
Exemplo n.º 2
0
        public void RemoveAcceptSettings(string monitorIP, string monitorDirectory)
        {
            var accepts = SubscribeCollection.Where(s => s.MonitorIP == monitorIP && s.MonitorDirectory == monitorDirectory).ToList();

            App.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                foreach (var accept in accepts)
                {
                    SubscribeCollection.Remove(accept);
                }
            }));
        }
Exemplo n.º 3
0
        public void RemoveAcceptSettings(string monitorIP, string monitorAlias)
        {
            var accepts = SubscribeCollection.Where(s => s.MonitorIP == monitorIP && s.MonitorAlias == monitorAlias).ToList();

            App.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                foreach (var accept in accepts)
                {
                    SubscribeCollection.Remove(accept);
                }
            }));
            ConfigHelper.Instance.SaveSettings();
        }
Exemplo n.º 4
0
        private void ExecuteDeleteMonitorCommand(object deleteItem)
        {
            var model1 = deleteItem as MonitorModel;

            if (model1 != null)
            {
                //检查发送标志位(若为true则不允许删除配置)
                if (SynchronousSocketManager.Instance.SendingFilesFlag)
                {
                    MessageBox.Show("当前正在发送文件,不允许删除任何监控配置项!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                //删除监控配置
                MonitorCollection.Remove(model1);
                if (string.IsNullOrEmpty(model1.SubscribeIP))
                {
                    return;
                }
                //删除监控配置后通知相关订阅方,删除相关配置
                SynchronousSocketManager.Instance.SendDeleteMonitorInfo(UtilHelper.Instance.GetIPEndPoint(model1.SubscribeIP), model1.MonitorDirectory);
            }
            else
            {
                var model2 = deleteItem as SubscribeModel;
                if (model2 == null)
                {
                    return;
                }
                //检查接收标志位(若为true则不允许删除配置)
                if (SynchronousSocketManager.Instance.ReceivingFlag)
                {
                    MessageBox.Show("当前正在接收,不允许删除任何接收配置项!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                //删除接收配置
                SubscribeCollection.Remove(model2);
                //删除接收配置后,综合接收配置决定是否通知监控端删除订阅信息
                if (SubscribeCollection.FirstOrDefault(s => s.MonitorIP == model2.MonitorIP) == null)
                {
                    SynchronousSocketManager.Instance.SendUnregisterSubscribeInfo(UtilHelper.Instance.GetIPEndPoint(string.Format("{0}:{1}", model2.MonitorIP, model2.MonitorListenPort)), model2.MonitorDirectory);
                }
            }
        }