internal override bool Handle(EventTrigger trigger, ActionStore store) { if (trigger.GetAction() == Type()) { var response = trigger.GetResponse(); var persistedParams = store.Get(trigger); if (persistedParams != null) { store.Remove(trigger); callback(persistedParams); } else if (response.ContainsKey("parameters")) { callback((JSONObject)response["parameters"]); } else { callback(new JSONObject()); } return(true); } return(false); }
internal override bool Handle(EventTrigger trigger, ActionStore store) { if (trigger.GetAction() == Type()) { // copy the json to avoid modifying original var response = new JSONObject(trigger.GetResponse()); var persistedParams = store.Get(trigger); if (persistedParams != null) { response["parameters"] = persistedParams; } var image = ImageMessage.Create( ddna, new Engagement("dummy") { JSON = response }, null); if (image != null && image.IsReady()) { if (persistedParams != null) { store.Remove(trigger); } callback(image); return(true); } } return(false); }
public void RemovingAction() { var trigger1 = Substitute.For <EventTrigger>(); trigger1.GetCampaignId().Returns(1); var action1 = new JSONObject() { { "a", 1 } }; var trigger2 = Substitute.For <EventTrigger>(); trigger2.GetCampaignId().Returns(2); var action2 = new JSONObject() { { "b", 2 } }; uut.Put(trigger1, action1); uut.Put(trigger2, action2); uut.Remove(trigger1); Expect(uut.Get(trigger1), Is.Null); Expect(uut.Get(trigger2), Is.EqualTo(action2)); }