Пример #1
0
        private State SendEventOutbox(State state)
        {
            var eventStore = Store.GetEventStore(state);

            if (eventStore.Outbox.GetList().Count < 1)
            {
                return(state);
            }

            var payload = new DataPackagePayload();

            payload.Events   = eventStore.Outbox;
            payload.Progress = eventStore.ProgressId;

            state = Store.UpdateEventStoreOutbox(new ImList <Event>(), state);

            var package = new DataPackage();

            // TODO
            package.Path    = "duelist";
            package.Method  = "push";
            package.Payload = payload;

            var renderCommand = new RenderCommand.SendPackage(package);

            return(Store.PushRenderCommand(renderCommand, state));
        }
        public static DataPackage Transform(PhoenixSocketPackage phoenixPackage)
        {
            var phoenixMessage      = phoenixPackage.parse <PhoenixSocketMessage <PhoenixEventPayload> >();
            var phoenixEventPayload = phoenixMessage.payload;

            var payload = new DataPackagePayload();

            payload.Events   = new ImList <Event>(phoenixEventPayload.events);
            payload.Progress = phoenixEventPayload.progress;

            var package = new DataPackage();

            package.Path    = phoenixMessage.topic;
            package.Method  = phoenixMessage.@event;
            package.Payload = payload;

            return(package);
        }