private void LoadData(string devicePath)
        {
            Task.Factory.StartNew(() =>
            {
                IsFiltering = true;

                _currentDevicePath = devicePath;

                //DetectionManager.Instance.Detect(devicePath);
                var dataList = DeviceExternsion.LoadDeviceData(devicePath);
                foreach (var item in dataList)
                {
                    item.BuildParent();
                }
                AsyncOperator.Execute(() =>
                {
                    DataList = dataList;

                    //重置数据
                    MessageAggregation.SendGeneralMsg(new GeneralArgs <ObservableCollection <DataExtactionItem> >(MessageKeys.SetDataListKey)
                    {
                        Parameters = DataList
                    });

                    IsFiltering = false;
                    HasDataList = DataList != null && DataList.Count > 0;

                    SelectDefaultNode(DataList);
                });
            });
        }
 /// <summary>
 /// 选了某项数据,此时更新数据预览
 /// </summary>
 /// <param name="data"></param>
 private void OnDataViewSelectedItemChanged(object data)
 {
     MessageAggregation.SendGeneralMsg <object>(new GeneralArgs <object>(MessageKeys.PreviewKey)
     {
         Parameters = data
     });
 }
Esempio n. 3
0
        protected override void InitLoad(object parameters)
        {
            _currentDevicePath = parameters?.ToString();
            LoadPlugin();

            //判断是否是智能预警
            if (!string.IsNullOrWhiteSpace(_currentDevicePath))
            {
                if (_currentDevicePath.StartsWith("{"))
                {
                    try
                    {
                        var inspectConfig = Serializer.JsonDeserializeIO <ViewModel.InspectionConfig>(_currentDevicePath);
                        _currentDevicePath = inspectConfig.DevicePath;
                        MessageAggregation.SendGeneralMsg(new GeneralArgs <List <Inspection> >(MessageKeys.InspectionKey)
                        {
                            Parameters = inspectConfig.Config
                        });
                    }
                    catch (Exception)
                    {
                    }
                }
            }

            LoadData(_currentDevicePath);
        }
        /// <summary>
        /// 创建一个设备,如果设备已经存在,则跳转到该设备
        /// </summary>
        /// <param name="device"></param>
        private void CreateDevice(IDevice device)
        {
            if (device.DeviceType == EnumDeviceType.None)
            {
                return;
            }
            DeviceExtractionAdorner dea = new DeviceExtractionAdorner();
            var ca  = SystemContext.Instance.CurrentCase;
            var dev = ca.DeviceExtractions.FirstOrDefault(d => d[DeviceExternsion.XLY_IdKey] == device.ID);

            if (dev == null)     //不存在则创建新设备
            {
                dev        = SystemContext.Instance.CurrentCase.CreateDeviceExtraction(device.Name, device.DeviceType.ToString());
                dea.Target = dev;
                dea.Device = device;
                dea.Save();
            }
            else
            {
                dea.Target = dev;
            }
            //跳转到设备
            MessageAggregation.SendGeneralMsg(new GeneralArgs <DeviceExtractionAdorner>(ExportKeys.DeviceAddedMsg)
            {
                Parameters = dea
            });
        }
Esempio n. 5
0
        public DataFilterViewModel()
        {
            ClearCommond = new RelayCommand(DoClearCommond);
            StartFilterCommond = new RelayCommand(DoStartFilterCommond);

            BookmarkSource = new Dictionary<int, string>()
            {
                {-2, Languagekeys.BookmarkAll },
                {0, Languagekeys.BookmarkYes },
                {-1, Languagekeys.BookmarkNone },
            };
            DataStateSource = new Dictionary<EnumDataState, string>()
            {
                { EnumDataState.None, Languagekeys.DataStateAll },
                { EnumDataState.Normal,Languagekeys.DataStateNormal },
                { EnumDataState.Deleted ,Languagekeys.DataStateDelete }
            };
            KeywordTypeSource = new Dictionary<int, string>()
            {
                {0, Languagekeys.Keyword },
                {1, Languagekeys.ZhengZe},
            };

            MessageAggregation.RegisterGeneralMsg<ObservableCollection<DataExtactionItem>>(this, MessageKeys.SetDataListKey, SetDataListKey);
            MessageAggregation.RegisterGeneralMsg<object>(this, MessageKeys.DataLoadedCompletedKey, b=> OnDataLoadedCompleted());
            //设置智能预警参数
            MessageAggregation.RegisterGeneralMsg<List<Inspection>>(this, MessageKeys.InspectionKey, b =>
            {
                IsInspection = true;
                InspectionList.Clear();
                InspectionList.AddRange(b.Parameters.Select(i => new InspectionItem() { Id = i.ID, Name = LanguageHelper.LanguageManager.Type == Framework.Language.LanguageType.En ? i.CategoryEn : i.CategoryCn, Icon = null }));
                //SelectedInspectionItem = InspectionList.FirstOrDefault();
            });
        }
        public EarlyWarningViewModel()
        {
            SelecedAppChanged = new RelayCommand <object>(DoSelecedAppChanged);
            DeleteDataCommond = new RelayCommand <object>(DoDeleteDataCommond);

            MessageAggregation.RegisterGeneralMsg <bool>(this, MessageKeys.StartFilterKey, StartFilter);
            _MessageBox = IocManagerSingle.Instance.GetPart <IMessageBox>();
        }
Esempio n. 7
0
 public DeviceListViewModel()
 {
     _selectDeviceCommandProxy = new ProxyRelayCommand(SelectDevice);
     CloseCommand        = new GalaSoft.MvvmLight.CommandWpf.RelayCommand <DeviceExtractionAdorner>(Close);
     _moveToCommandProxy = new ProxyRelayCommand <DeviceExtractionAdorner>(MoveTo);
     _deleteCommandProxy = new ProxyRelayCommand <DeviceExtractionAdorner>(Delete);
     PopupCommand        = new GalaSoft.MvvmLight.CommandWpf.RelayCommand <DeviceExtractionAdorner>(Popup);
     MessageAggregation.RegisterGeneralMsg <object>(this, ExportKeys.DeviceWindowClosedMsg, (d) => BackToList(d.Parameters as DeviceExtractionAdorner));
 }
Esempio n. 8
0
 /// <summary>
 /// 开始筛选命令
 /// </summary>
 private void DoStartFilterCommond()
 {
     var args = GetFilterArgs();
     Task.Factory.StartNew(() =>
     {
         MessageAggregation.SendGeneralMsg(new GeneralArgs<bool>(MessageKeys.StartFilterKey) { Parameters = true });
         Filter(DataListSource, args);
         MessageAggregation.SendGeneralMsg(new GeneralArgs<bool>(MessageKeys.StartFilterKey) { Parameters = false });
     });
 }
Esempio n. 9
0
        private void LoadData(string devicePath)
        {
            if (IsFiltering)
            {
                return;
            }
            IsFiltering = true;
            Task.Factory.StartNew(() =>
            {
                try
                {
                    //AsyncOperator.Execute(() => IsFiltering = true);

                    //devicePath = @"C:\Users\fhjun\Desktop\默认案例_20171115[081055]\默认案例_20171115[081055]\R7007_20171115[081055]";
                    _currentDevicePath = devicePath;
                    var dataList       = DeviceExternsion.LoadDeviceData(devicePath);
                    foreach (var item in dataList)
                    {
                        item.BuildParent();
                    }
                    AsyncOperator.Execute(() =>
                    {
                        DataList = dataList;

                        //重置数据
                        MessageAggregation.SendGeneralMsg(new GeneralArgs <ObservableCollection <DataExtactionItem> >(MessageKeys.SetDataListKey)
                        {
                            Parameters = DataList
                        });

                        IsFiltering = false;
                        HasDataList = DataList != null && DataList.Count > 0;

                        SelectDefaultNode(DataList);
                    });
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    AsyncOperator.Execute(() =>
                    {
                        IsFiltering = false;
                        MessageAggregation.SendGeneralMsg(new GeneralArgs <object>(MessageKeys.DataLoadedCompletedKey)
                        {
                            Parameters = true
                        });
                    });
                }
            });
        }
Esempio n. 10
0
 /// <summary>
 /// Create an instance of an MDR that requires a specific transport.
 /// </summary>
 /// <param name="t">the specific transport to require</param>
 /// <param name="aggr">the aggregation required</param>
 public SpecificTransportRequirement(ITransport t, MessageAggregation aggr)
     : base(t.Reliability, aggr, t.Ordering)
 {
     transport = t;
 }
Esempio n. 11
0
 /// <summary>
 /// A constructor for specifying the most common requirements.
 /// </summary>
 /// <param name="d">the minimum reliability requirement</param>
 /// <param name="a">the minimum aggregation requirement</param>
 /// <param name="o">the minimum ordering requirement</param>
 public MessageDeliveryRequirements(Reliability d, MessageAggregation a, Ordering o)
 {
     Reliability = d;
     Aggregation = a;
     Ordering = o;
 }
Esempio n. 12
0
 /// <summary>
 /// Constructor to set the 3 most common value
 /// </summary>
 /// <param name="d">the required reliability</param>
 /// <param name="a">the desired aggregation</param>
 /// <param name="o">the required ordered</param>
 public ChannelDeliveryRequirements(Reliability d, MessageAggregation a, Ordering o)
 {
     Reliability = d;
     Aggregation = a;
     Ordering = o;
     Freshness = Freshness.IncludeAll;
 }