public void PublishEvent(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
        {
            var suscribers = _suscribers.Where(x => x.SuscribeTo().Any(y => y == e.GetEventType())).ToList();


            foreach (var suscriber in suscribers)
            {
                suscriber.ManageEvent(aggregateInfo, eventVersion, e);
            }
        }
Esempio n. 2
0
        public async Task ManageEvent(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
        {
            var dto = EventStoreMapper.EventMapper(aggregateInfo, eventVersion, e);

            try
            {
                await _service.Save(dto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public static EventStoredDTO EventMapper(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
 {
     return(new EventStoredDTO
     {
         AggregateId = aggregateInfo.AggregateId,
         AggregateActualVersion = aggregateInfo.AggregateActualVersion,
         AggregateBaseVersion = aggregateInfo.AggregateBaseVersion,
         AggregateType = aggregateInfo.AggregateType,
         AggregateData = JsonSerializer.Serialize(e.GetData()),
         CreationDate = e.GetDateItHappened(),
         EventType = (int)e.GetEventType(),
         EventVersion = eventVersion
     });
 }
Esempio n. 4
0
        public void PublishEvent(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
        {
            var suscribers = _suscribers.Select(
                x =>
            {
                x.SuscribeTo().Where(y => y == e.GetEventType());
                return(x);
            }
                );

            foreach (var suscriber in suscribers)
            {
                suscriber.ManageEvent(aggregateInfo, eventVersion, e);
            }
        }
Esempio n. 5
0
        public async Task ManageEvent(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
        {
            var dto = EventStoreMapper.EventMapper(aggregateInfo, eventVersion, e);

            try
            {
                await _service.Save(dto);

                _presenter.PublishAmountDeposited(dto.AggregateId, dto.AggregateData);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 6
0
        public async Task ManageEvent(IAggregateInfo aggregateInfo, int eventVersion, IEvent e)
        {
            var dto = EventStoreMapper.EventMapper(aggregateInfo, eventVersion, e);

            try
            {
                await _service.Save(dto);

                _presenter.PublishAccountCreated(dto.AggregateId, dto.AggregateData);
            }
            catch (Exception ex)
            {
                _presenter.PublishErrorCreatingAccount(ex.Message);
                throw;
            }
        }
 /// <summary>
 /// 默认构造函数
 /// </summary>
 /// <param name="aggregateInfoService">聚合信息接口</param>
 /// <param name="privateMessageService">私信接口</param>
 public AjaxPostController(IAggregateInfo aggregateInfoService,
     IPrivateMessage privateMessageService)
 {
     this.aggregateInfoService = aggregateInfoService;
     this.privateMessageService = privateMessageService;
 }
 public FavoriteService(IAggregateInfo aggregateInfoService)
 {
     this.aggregateInfoService = aggregateInfoService;
 }
Esempio n. 9
0
 /// <summary>
 /// 默认构造函数
 /// </summary>
 /// <param name="aggregateInfoService">聚合信息接口</param>
 public FavoriteService(IAggregateInfo aggregateInfoService)
 {
     this.aggregateInfoService = aggregateInfoService;
 }
 /// <summary>
 /// 默认构造函数
 /// </summary>
 /// <param name="aggregateInfoService">聚合信息接口</param>
 /// <param name="privateMessageService">私信接口</param>
 public AjaxPostController(IAggregateInfo aggregateInfoService,
                           IPrivateMessage privateMessageService)
 {
     this.aggregateInfoService  = aggregateInfoService;
     this.privateMessageService = privateMessageService;
 }