Example #1
0
        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);
        }
Example #2
0
        public async Task <string> Post(RegisterParkingHost trigger)
        {
            var response = await send(trigger);

            if (response)
            {
                return("success");
            }

            return("an error occurred");
        }
Example #3
0
        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);
        }
Example #4
0
        private Request <RegistrationWorld, RegisterParkingHost> new_request()
        {
            var trigger = new RegisterParkingHost("kooldave98", "*****@*****.**");

            return(new Request <RegistrationWorld, RegisterParkingHost>(RegistrationWorld.seed_world(), trigger));
        }