Exemplo n.º 1
0
        public void AddEmittedEvent(Type aggregateRootType, DomainEvent e)
        {
            e.Meta[DomainEvent.MetadataKeys.Owner] = _typeNameMapper.GetName(aggregateRootType);
            e.Meta[DomainEvent.MetadataKeys.Type]  = _typeNameMapper.GetName(e.GetType());

            Events.Add(e);
        }
Exemplo n.º 2
0
        public void AddEmittedEvent <TAggregateRoot>(DomainEvent <TAggregateRoot> e) where TAggregateRoot : AggregateRoot
        {
            e.Meta[DomainEvent.MetadataKeys.Owner] = _typeNameMapper.GetName(typeof(TAggregateRoot));
            e.Meta[DomainEvent.MetadataKeys.Type]  = _typeNameMapper.GetName(e.GetType());

            Events.Add(e);
        }
Exemplo n.º 3
0
        void SetMetadata <TAggregateRoot>(string aggregateRootId, DomainEvent <TAggregateRoot> domainEvent) where TAggregateRoot : AggregateRoot
        {
            var now = GetNow();

            domainEvent.Meta[DomainEvent.MetadataKeys.AggregateRootId] = aggregateRootId;
            domainEvent.Meta[DomainEvent.MetadataKeys.SequenceNumber]  = _eventStore.GetNextSeqNo(aggregateRootId).ToString(Metadata.NumberCulture);
            domainEvent.Meta[DomainEvent.MetadataKeys.Owner]           = _domainTypeNameMapper.GetName(typeof(TAggregateRoot));
            domainEvent.Meta[DomainEvent.MetadataKeys.Type]            = _domainTypeNameMapper.GetName(domainEvent.GetType());
            domainEvent.Meta[DomainEvent.MetadataKeys.TimeUtc]         = now.ToString("u");

            domainEvent.Meta.TakeFromAttributes(domainEvent.GetType());
            domainEvent.Meta.TakeFromAttributes(typeof(TAggregateRoot));

            EnsureSerializability(domainEvent);
        }
Exemplo n.º 4
0
        public CommandProcessingResult ProcessCommand(Command command)
        {
            if (!command.Meta.ContainsKey(DomainEvent.MetadataKeys.CommandTypeName))
            {
                var commandTypeName = _domainTypeNameMapper.GetName(command.GetType());
                command.Meta[DomainEvent.MetadataKeys.CommandTypeName] = commandTypeName;
            }

            return(_innerCommandProcessor.ProcessCommand(command));
        }