示例#1
0
        // Notes: When we reconstruct aggregate from events, we don't want to set the applyEvent flag to false,
        // Its significant only when we want to persist and increment the version of aggregate
        // to achieve consistency!

        public void Handle(ValueCreatedEvent @event)
        {
            CheckEvent(@event);

            var model = new ValuesRootAggregateDataModel
            {
                TenantId = @event.TenantId,
                Name     = @event.Name,
                Code     = @event.Code,
                Value    = @event.Value,
            };

            this.CreateValue(model, applyEvent: false);
        }
        private void Handle(ValueCreatedEvent valueCreatedEvent, string rawJson, EventModel @event, EventMetaData metaData)
        {
            _logger.LogInformation($"Handling {nameof(ValueCreatedEvent)} .... {Environment.NewLine} {rawJson}");
            _operation = DatabaseOperation.Create;

            _currentValueRecord = new ValueRecord
            {
                PublicId       = valueCreatedEvent.Id,
                Code           = valueCreatedEvent.Code,
                Name           = valueCreatedEvent.Name,
                TenantId       = valueCreatedEvent.TenantId,
                Value          = valueCreatedEvent.Value,
                Version        = @event.Version,
                CommitId       = metaData.CommitIdHeader,
                CreatedOn      = DateTime.Now,
                LastModifiedOn = DateTime.Now,
                Comments       = new List <ValueCommentRecord>()
            };
        }