void ParseDeviceMessage(Commands.RecordMessage cmd) { Console.WriteLine($"{this.PersistenceId} -- COMMAND: RecordMessage"); var messageEvent = new Events.MessageReceived(cmd.IMEI, cmd.JSON); Persist(messageEvent, evt => { this.Entity.Apply(evt); Context.System.EventStream.Publish(messageEvent); CheckForSnapshot(); }); var bdd = BreachDetectorData.FromJson(cmd.JSON); foreach (var l in bdd.Log) { if (l.Supdat.IsAlert()) { Persist(new Events.AlertReceveived(this.Entity.IMEI, l.ToJson()), evt => { Console.WriteLine($"{this.PersistenceId} -- *ALERT*: {l.Errdesc}"); Context.System.EventStream.Publish(evt); CheckForSnapshot(); }); } } }
public void Apply(Events.MessageReceived evt) { if (this.Messages == null) { this.Messages = new List <BreachDetectorData>(); } var bdd = evt.GetMessage(); this.Messages.Add(bdd); }