public void Delivery() { var consumers = MessageSubscribeRelations.GetCurrentRelationsByMessageType(message.MessageDataType); foreach (var v in consumers) { try { v.RelationAction(message); } catch (Exception ex) { Console.Write(ex.ToString()); //异常日志记录 } } var consumersAll = MessageSubscribeRelations.GetCurrentRelationsByMessageType(MessageType.All); foreach (var v in consumersAll) { try { v.RelationAction(message); } catch (Exception ex) { Console.Write(ex.ToString()); //异常日志记录 } } }
public ProducerMonitorViewModel() : base("生产者数据监控") { ContentId = ToolContentId; MessageSubscribeRelations.AddSubscribe(MessageType.All, new Relation() { CanUninstall = false, IsActive = true, IsKeep = true, RelationDescribe = "数据监视器WSDE类消息监听", RelationGuid = GuidWSDEDataComeEvent, RelationAction = messageData => { base.BindingPropInOtherTask(() => { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); //var response = javaScriptSerializer.Deserialize<WSDESubVoterSelectRequest>(messageData.MessageData); if (DataList.Count() > _maxKeep) { for (int i = 0; i < DataList.Count() - _maxKeep; i++) { DataList.RemoveAt(0); } } DataList.Add(messageData); }); }, }); }
public TecheartHostViewModel() : base("投票器主机状态监视窗口") { ContentId = ToolContentId; WsdeUsbManager manager = new WsdeUsbManager(); manager.OnWsdeUsbComed += new WsdeUsbManager.OnWsdeUsbHandler(OnWsdeUsbComed); manager.OnWsdeUsbExited += new WsdeUsbManager.OnWsdeUsbHandler(OnWsdeUsbExitHandler); MessageSubscribeRelations.AddSubscribe(MessageType.DownloadAnswerToWSDEHost, new Relation() { IsKeep = true, IsActive = true, CanUninstall = true, RelationDescribe = "投票器主机下载答案监听", RelationGuid = GuidDownloadAnswer, RelationAction = (messagedata) => { lock (objLockDataCome) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); var response = javaScriptSerializer.Deserialize <WSDEDownloadAnswerRequest>(messagedata.MessageData); if (response.answerRequests != null) { response.answerRequests.ToList().ForEach(k => { post.subAnswerDic.SetAnswer(k.ProblemId, k.ProblemAnswer); }); post.PushAnswer(); } } } }); }
public RelationListViewModel() : base("关系维护列表") { ContentId = ToolContentId; MessageSubscribeRelations.AddSubscribe(MessageType.RelationChangeEvent, new Relation() { CanUninstall = false, IsActive = true, RelationDescribe = "关系维护列表监听", RelationGuid = GuidRelationChange, IsKeep = true, RelationAction = (messagedata) => { base.BindingPropInOtherTask(() => { DynamicrelationList.Clear(); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); var relations = MessageSubscribeRelations.GetAllCurrentRelation(); foreach (var v in relations) { v.Relations.ToList().ForEach(k => { DynamicrelationList.Add(k); }); } }); } }); }
private void OnClose() { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); MessageDeliverGroup.Delivery(MessageType.CloseTempleteEvemt, javaScriptSerializer.Serialize(new CloseTempleteRequest() { TempleteGuid = this.StrGuid })); MessageSubscribeRelations.DeleteSubscribe(MessageType.WSDEDataEvent, this.StrGuid); }
private void init() { MessageSubscribeRelations.AddSubscribe(MessageType.WSDEDataEvent, new Relation() { CanUninstall = true, IsActive = true, IsKeep = false, RelationDescribe = Title, RelationGuid = this.StrGuid, RelationAction = messageData => { base.BindingPropInOtherTask(() => { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); var response = javaScriptSerializer.Deserialize <WSDESubVoterSelectRequest>(messageData.MessageData); if (!Start) { StudentLogin(response); return; } StudentLogin(response); if (String.IsNullOrWhiteSpace(response.SubVoterResult) || response.SubVoterResult.Equals("login")) { return; } if (!StudentList.Any(k => k.StudentNumber == response.SubVoterNumber) && RefuseOutOfStudentList) { return; } response.SubVoterResult = response.SubVoterResult.Replace(".", ""); response.SubVoterResult = StringUtils.RemoveDuplicateCharacters(response.SubVoterResult); var number = System.Convert.ToInt32(response.SubVoterSelectNumber); examination.Add(response.SubVoterNumber, number, response.SubVoterResult); if (QuestionList.Any(k => k.QuestionNumber == response.SubVoterSelectNumber)) { QuestionList.First(k => k.QuestionNumber == response.SubVoterSelectNumber).Set(examination.ExaminationQuestions.First(k => k.QuestionNumber == number)); } if (!StudentList.Any(k => k.StudentNumber == response.SubVoterNumber) && examination.Voters != null && examination.Voters.Count() > 0) { StudentVM studentNM = new StudentVM(); studentNM.Set(examination.Voters.First(k => k.VoterId == response.SubVoterNumber)); StudentList.Add(studentNM); } if (examination.Voters != null && examination.Voters.Count() > 0) { StudentList.First(k => k.StudentNumber == response.SubVoterNumber).Set(examination.Voters.First(k => k.VoterId == response.SubVoterNumber)); } base.ViewChange(); }); }, }); }
public LoginViewModel() : base("登陆") { ContentId = ToolContentId; MessageSubscribeRelations.AddSubscribe(MessageType.RelationChangeEvent, new Relation() { CanUninstall = false, IsActive = true, RelationDescribe = "关系维护列表监听", RelationGuid = GuidRelationChange, IsKeep = true, RelationAction = (messagedata) => { base.BindingPropInOtherTask(() => { }); } }); }
protected Workspace() { _files = new ObservableCollection <TemplateBaseViewModel>(); MessageSubscribeRelations.AddSubscribe(MessageType.CloseTempleteEvemt, new Relation() { CanUninstall = false, IsActive = true, IsKeep = true, RelationDescribe = "监听模板类窗口关闭事件", RelationGuid = Guid.NewGuid().ToString(), RelationAction = messageData => { base.BindingPropInOtherTask(() => { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); var response = javaScriptSerializer.Deserialize <CloseTempleteRequest>(messageData.MessageData); Close(response.TempleteGuid); }); }, }); plugInit = PluginTools.Init(); }