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 }); }
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 }); }
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>(); }
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)); }
/// <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 }); }); }
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 }); }); } }); }
/// <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; }
/// <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; }
/// <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; }