Exemplo n.º 1
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="objectValue"></param>
        private DomainEventHandlerEntity(DomainEventHandlerValueObject objectValue)
        {
            eventType          = Type.GetType(objectValue.EventType);
            eventParameterType = Type.GetType(objectValue.EventParameterType);

            eventArgs = (BaseDomainEventArgs)eventParameterType.Assembly.CreateInstance(eventParameterType.FullName);
            JsonConvert.PopulateObject(objectValue.EventJsonParameter, eventArgs);

            this.objectValue = objectValue;
        }
Exemplo n.º 2
0
        private void Exec()
        {
            lock (lock_obj)
            {
                var ObjectValues = store.GetEntities(p => !p.IsRuned);
                DomainEventHandlerValueObject[] entityArray = new DomainEventHandlerValueObject[ObjectValues.Count];
                ObjectValues.CopyTo(entityArray, 0);

                foreach (var objectValue in entityArray)
                {
                    var entity = DomainEventHandlerEntity.Create(objectValue);
                    entity.Run();

                    store.ChangDomainEventHandlerStuts(objectValue);
                }
            }
        }
 public void ChangDomainEventHandlerStuts(DomainEventHandlerValueObject entity)
 {
     _store.Remove(GetEntity(entity.EventId));
     _store.Add(entity);
 }
 public void AddDomainEventHandler(DomainEventHandlerValueObject entity)
 {
     _store.Add(entity);
 }
Exemplo n.º 5
0
 /// <summary>
 /// 根据值对象创建实体
 /// </summary>
 /// <param name="valueObject"></param>
 /// <returns></returns>
 public static DomainEventHandlerEntity Create(DomainEventHandlerValueObject valueObject)
 {
     return(new DomainEventHandlerEntity(valueObject));
 }