private async Task <bool> send(RegisterParkingHost trigger) { var trigger_as_raw_event = trigger.ToRawEvent(); var tcs = new TaskCompletionSource <bool>(); event_store .NewEvents(Query.Interface.NameService.ContextName, $"{Gateway.Interface.NameService.ContextName}-Errors") .Subscribe(re => { if (re.raw_event.type == nameof(ParkingHostMaterialised) && re.raw_event.data.To <ParkingHostMaterialised>().host_id == trigger.host_id) { tcs.TrySetResult(true); } if (re.origin_stream == $"{Gateway.Interface.NameService.ContextName}-Errors") { tcs.TrySetResult(false); } }); event_store.Publish(trigger_as_raw_event); return(await tcs.Task); }
public async Task <string> Post(RegisterParkingHost trigger) { var response = await send(trigger); if (response) { return("success"); } return("an error occurred"); }
public void deserialise_trigger() { var trigger = new RegisterParkingHost("kooldave98", "*****@*****.**"); var as_json = JsonConvert.SerializeObject(trigger); var out_trigger = JsonConvert.DeserializeObject <RegisterParkingHost>(as_json); Assert.IsNotNull(out_trigger); Assert.AreEqual(trigger.host_id, out_trigger.host_id); Assert.AreEqual(trigger.username, out_trigger.username); Assert.AreEqual(trigger.email, out_trigger.email); }
private Request <RegistrationWorld, RegisterParkingHost> new_request() { var trigger = new RegisterParkingHost("kooldave98", "*****@*****.**"); return(new Request <RegistrationWorld, RegisterParkingHost>(RegistrationWorld.seed_world(), trigger)); }