Exemple #1
0
        private byte[] ConvertToBytes(EventDocumentDto document, long id)
        {
            var meta = new EventMeta {
                Version = document.Version, Timestamp = document.Timestamp, FlowId = document.FlowId
            };

            using var baseBytes = EventExtensions.ConvertToBytes(meta);
            var transUnit = new EventTransUnit(document.Name, id, baseBytes.AsSpan(), Encoding.UTF8.GetBytes(document.Data));

            using var buffer = EventConverter.ConvertToBytes(transUnit);
            return(buffer.ToArray());
        }
Exemple #2
0
        private EventUnit <long> ConvertToEventUnit(EventDocumentDto document, long id)
        {
            if (!this.eventTypeContainer.TryGet(document.Name, out var type))
            {
                throw new NoNullAllowedException($"event name of {document.Name}");
            }
            var data = this.serializer.Deserialize(document.Data, type);

            return(new EventUnit <long>
            {
                ActorId = id,
                Event = data as IEvent,
                Meta = new EventMeta {
                    Version = document.Version, Timestamp = document.Timestamp, FlowId = document.FlowId
                }
            });
        }