示例#1
0
 /// <summary>
 /// 共享记录时触发的事件
 /// </summary>
 /// <param name="data"></param>
 /// <param name="stage"></param>
 /// <param name="entityMetadata"></param>
 private void InternalOnShare(Entity data, OperationStage stage, Schema.Domain.Entity entityMetadata, List <Schema.Domain.Attribute> attributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Share, stage, data, entityMetadata, attributeMetadatas);
     if (stage == OperationStage.PreOperation)
     {
         _eventPublisher.Publish(new EntitySharingEvent()
         {
             Data = data, EntityMetadata = entityMetadata, Principals = null
         });
     }
     else if (stage == OperationStage.PostOperation)
     {
         _eventPublisher.Publish(new EntitySharedEvent()
         {
             Data = data, EntityMetadata = entityMetadata, Principals = null
         });
     }
     OnShare(data, stage, entityMetadata, attributeMetadatas);
 }
示例#2
0
文件: DataMapper.cs 项目: xixiky/xms
 /// <summary>
 /// 单据转换时触发的事件
 /// </summary>
 /// <param name="source"></param>
 /// <param name="target"></param>
 /// <param name="stage"></param>
 /// <param name="targetEntityMeta"></param>
 private void InternalOnMap(Entity source, Entity target, OperationStage stage, Schema.Domain.Entity targetEntityMeta, List <Schema.Domain.Attribute> targetAttributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Merge, stage, target, targetEntityMeta, targetAttributeMetadatas);
     if (stage == OperationStage.PreOperation)
     {
         _eventPublisher.Publish(new EntityMappingEvent()
         {
             Source = source, Target = target, EntityMetadata = targetEntityMeta
         });
     }
     else if (stage == OperationStage.PostOperation)
     {
         _eventPublisher.Publish(new EntityMappedEvent()
         {
             Source = source, Target = target, EntityMetadata = targetEntityMeta
         });
     }
     OnMap(source, target, stage, targetEntityMeta, targetAttributeMetadatas);
 }
示例#3
0
 /// <summary>
 /// 分派记录时触发的事件
 /// </summary>
 /// <param name="data"></param>
 /// <param name="newOwnerEntity"></param>
 /// <param name="stage"></param>
 /// <param name="entityMetadata"></param>
 private void InternalOnAssign(Entity data, Entity newOwnerEntity, OperationStage stage, Schema.Domain.Entity entityMetadata, List <Schema.Domain.Attribute> attributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Assign, stage, newOwnerEntity, entityMetadata, attributeMetadatas);
     if (stage == OperationStage.PreOperation)
     {
         _eventPublisher.Publish(new EntityAssigningEvent()
         {
             OriginData = data, Data = newOwnerEntity, EntityMetadata = entityMetadata
         });
     }
     else if (stage == OperationStage.PostOperation)
     {
         _eventPublisher.Publish(new EntityAssignedEvent()
         {
             OriginData = data, Data = newOwnerEntity, EntityMetadata = entityMetadata
         });
     }
     OnAssign(data, newOwnerEntity, stage, entityMetadata, attributeMetadatas);
 }
示例#4
0
 /// <summary>
 /// 合并记录时触发的事件
 /// </summary>
 /// <param name="merged"></param>
 /// <param name="target"></param>
 /// <param name="stage"></param>
 /// <param name="entityMetadata"></param>
 private void InternalOnMerge(Entity merged, Entity target, OperationStage stage, Schema.Domain.Entity entityMetadata, List <Schema.Domain.Attribute> attributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Merge, stage, target, entityMetadata, attributeMetadatas);
     if (stage == OperationStage.PreOperation)
     {
         _eventPublisher.Publish(new EntityMergingEvent()
         {
             Merged = merged, Target = target, EntityMetadata = entityMetadata
         });
     }
     else if (stage == OperationStage.PostOperation)
     {
         _eventPublisher.Publish(new EntityMergedEvent()
         {
             Merged = merged, Target = target, EntityMetadata = entityMetadata
         });
     }
     OnMerge(merged, target, stage, entityMetadata, attributeMetadatas);
 }
示例#5
0
 /// <summary>
 /// 删除记录时触发的事件
 /// </summary>
 /// <param name="data"></param>
 /// <param name="stage"></param>
 /// <param name="entityMetadata"></param>
 private void InternalOnDelete(Entity data, OperationStage stage, Schema.Domain.Entity entityMetadata, List <Schema.Domain.Attribute> attributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Delete, stage, data, entityMetadata, attributeMetadatas);
     if (stage == OperationStage.PreOperation)
     {
         _eventPublisher.Publish(new EntityDeletingEvent(data)
         {
             EntityMetadata = entityMetadata, AttributeMetadatas = attributeMetadatas
         });
     }
     else if (stage == OperationStage.PostOperation)
     {
         _eventPublisher.Publish(new EntityDeletedEvent(data)
         {
             EntityMetadata = entityMetadata, AttributeMetadatas = attributeMetadatas
         });
     }
     OnDelete(data, stage, entityMetadata, attributeMetadatas);
 }
示例#6
0
文件: DataUpdater.cs 项目: xixiky/xms
 /// <summary>
 /// 更新记录时触发的事件
 /// </summary>
 /// <param name="originData"></param>
 /// <param name="newData"></param>
 /// <param name="stage"></param>
 /// <param name="entityMetadata"></param>
 private void InternalOnUpdate(Entity originData, Entity newData, OperationStage stage, Schema.Domain.Entity entityMetadata, List <Schema.Domain.Attribute> attributeMetadatas)
 {
     //plugin
     _entityPluginExecutor.Execute(OperationTypeEnum.Update, stage, newData, entityMetadata, attributeMetadatas);
     OnUpdate(originData, newData, stage, entityMetadata, attributeMetadatas);
 }