Пример #1
0
        internal Event ToEvent(IEventContentTypeResolver eventContentTypeResolver, IEventContentSerializer contentSerializer)
        {
            var ct = new EventContentType(TypeAssemblyName, TypeNamespace, TypeName);
            var t  = eventContentTypeResolver.Resolve(ct);

            return(Event.From(
                       EventId.From(Id),
                       Rill.Sequence.From(Sequence),
                       Rill.Timestamp.From(Timestamp.UtcDateTime),
                       contentSerializer.Deserialize(Content, t)));
        }
Пример #2
0
        internal static RillEventEntity From(RillCommit commit, Event e, IEventContentSerializer contentSerializer)
        {
            var ct = EventContentType.From(e.Content.GetType());

            return(new RillEventEntity(
                       (Guid)e.Id,
                       (Guid)commit.Id,
                       ct.AssemblyName,
                       ct.Namespace,
                       ct.Name,
                       (long)e.Sequence,
                       (DateTime)e.Timestamp,
                       contentSerializer.Serialize(e.Content)));
        }
 public Type Resolve(EventContentType type)
 => Type.GetType($"{type.Namespace}.{type.Name}, {type.AssemblyName}", false, true) ??
 throw new TypeLoadException($"Could not load type for event content type: '{type}'.");