public override void OnMessageEvent(ServiceStack.ServerEventMessage msg) { if (msg.Channel != typeof(JarsResourceGroup).Name) { return; } alertControl.FormDisplaySpeed = DevExpress.XtraBars.Alerter.AlertFormDisplaySpeed.Fast; alertControl.FormShowingEffect = DevExpress.XtraBars.Alerter.AlertFormShowingEffect.SlideHorizontal; alertControl.FormLocation = DevExpress.XtraBars.Alerter.AlertFormLocation.BottomRight; var alertInfo = new StringBuilder(); switch (msg.Selector) { case SelectorTypes.delete: List <string> ids = msg.Data.ConvertTo <List <string> >(); if (ids.Any()) { foreach (var id in ids) { var rec = ((IEnumerable <JarsResourceGroup>)defaultBindingSource.List).FirstOrDefault(r => $"{r.Id}" == $"{id}"); if (rec != null) { this.InvokeIfRequired(frm => frm.defaultBindingSource.Remove(rec)); } alertInfo.AppendLine($"Id: {id} (Removed) "); } } this.InvokeIfRequired(frm => alertControl.Show(this, "Delete Group", alertInfo.ToString())); break; case SelectorTypes.store: List <JarsResourceGroup> storeDto = msg.Json.FromJson <List <JarsResourceGroup> >(); if (storeDto != null) { foreach (var entity in storeDto) { var rec = ((IEnumerable <JarsResourceGroup>)defaultBindingSource.List).FirstOrDefault(r => $"{r.Id}" == $"{entity.Id}"); if (rec != null) { rec = entity.PopulateWith(entity); } else { defaultBindingSource.List.Add(entity); } alertInfo.AppendLine($"{entity.Name} ({entity.Code}) "); } } this.InvokeIfRequired(frm => alertControl.Show(this, "Group Stored", alertInfo.ToString())); OnRefreshDataAsync(); break; } base.OnMessageEvent(msg); }
public override void OnMessageEvent(ServiceStack.ServerEventMessage msg) { if (msg.Channel != typeof(ApptStatus).Name) { return; } //var thread = new Thread(() => //{ // switch (msg.Selector) // { // case SelectorTypes.delete: // MessageBox.Show($"DELETE - Op:{msg.Op} Selector:{msg.Selector} Target:{msg.Target} Channel:{msg.Channel} EventId:{msg.EventId}"); // break; // case SelectorTypes.store: // MessageBox.Show($"SAVE - Op:{msg.Op} Selector:{msg.Selector} Target:{msg.Target} Channel:{msg.Channel} EventId:{msg.EventId}"); // break; // } //}); //thread.Start(); base.OnMessageEvent(msg); }
public override void OnMessageEvent(ServiceStack.ServerEventMessage msg) { if (msg.Channel != typeof(ApptLabel).Name) { return; } if (msg.Selector == SelectorTypes.store) { var msgData = msg.Json.FromJson <ServerEventMessageData>(); var lbls = msgData.jsonDataString.FromJson <List <ApptLabel> >(); foreach (var lbl in lbls) { var fnd = ((List <ApptLabel>)defaultBindingSource.List).Find(l => l.Id == lbl.Id); if (fnd == null) { defaultBindingSource.Add(fnd); } } this.BeginInvokeIfRequired(c => { c.defaultBindingSource.ResetBindings(false); }); } if (msg.Selector == SelectorTypes.delete) { var msgData = msg.Json.FromJson <ServerEventMessageData>(); var ids = msgData.jsonDataString.FromJson <List <int> >(); foreach (var id in ids) { var fnd = ((List <ApptLabel>)defaultBindingSource.List).Find(l => l.Id == id); if (fnd != null) { defaultBindingSource.Remove(fnd); } this.BeginInvokeIfRequired(c => { c.defaultBindingSource.ResetBindings(false); }); } } base.OnMessageEvent(msg); }
public override void OnMessageEvent(ServiceStack.ServerEventMessage msg) { if (msg.Channel != typeof(JarsRule).Name) { return; } switch (msg.Selector) { case SelectorTypes.delete: MessageBox.Show($"DELETE - Op:{msg.Op} Selector:{msg.Selector} Target:{msg.Target} Channel:{msg.Channel} EventId:{msg.EventId}"); break; case SelectorTypes.store: if (msg.Channel == nameof(JarsRule)) { JarsRule entityCon = msg.Json.FromJson <JarsRule>(); //IEntityRule findCond = ResourceEntityConditionsList.FirstOrDefault(c => c.Id == entityCon.Id); //if (findCond != null) //{ // //replace // ResourceEntityConditionsList.Remove(findCond); // ResourceEntityConditionsList.Add(entityCon); //} //else //{ // //add // ResourceEntityConditionsList.Add(entityCon); //} //update bindings UpdateLinkedBindingSources(); } //MessageBox.Show($"SAVE - Op:{msg.Op} Selector:{msg.Selector} Target:{msg.Target} Channel:{msg.Channel} EventId:{msg.EventId}"); break; } base.OnMessageEvent(msg); }
private void ProcessOnJoinMessage(ServerEventMessage e) { var msg = new ServerEventJoin().Populate(e, JsonServiceClient.ParseObject(e.Json)); OnCommandReceived(msg); }
void ProcessEventMessage(ServerEventMessage e) { var parts = e.Data.SplitOnFirst(' '); e.Selector = parts[0]; var selParts = e.Selector.SplitOnFirst('@'); if (selParts.Length > 1) { e.Channel = selParts[0]; e.Selector = selParts[1]; } e.Json = parts[1]; if (!string.IsNullOrEmpty(e.Selector)) { parts = e.Selector.SplitOnFirst('.'); if (parts.Length < 2) { throw new ArgumentException("Invalid Selector '{0}'".Fmt(e.Selector)); } e.Op = parts[0]; var target = parts[1].Replace("%20", " "); var tokens = target.SplitOnFirst('$'); e.Target = tokens[0]; if (tokens.Length > 1) { e.CssSelector = tokens[1]; } if (e.Op == "cmd") { switch (e.Target) { case "onConnect": ProcessOnConnectMessage(e); return; case "onJoin": ProcessOnJoinMessage(e); return; case "onLeave": ProcessOnLeaveMessage(e); return; case "onUpdate": ProcessOnUpdateMessage(e); return; case "onHeartbeat": ProcessOnHeartbeatMessage(e); return; default: ServerEventCallback cb; if (Handlers.TryGetValue(e.Target, out cb)) { cb(this, e); } break; } } ServerEventCallback receiver; NamedReceivers.TryGetValue(e.Op, out receiver); if (receiver != null) { receiver(this, e); } } OnMessageReceived(e); }