public Task <AsyncTaskResult> HandleAsync(SpecificationUpdatedEvent evnt) { return(TryTransactionAsync(async(connection, transaction) => { var effectedRows = await connection.UpdateAsync(new { Version = evnt.Version, EventSequence = evnt.Sequence }, new { Id = evnt.AggregateRootId, //Version = evnt.Version - 1 }, ConfigSettings.GoodsTable, transaction); if (effectedRows == 1) { await connection.UpdateAsync(new { Name = evnt.SpecificationInfo.Name, Value = evnt.SpecificationInfo.Value, Price = evnt.SpecificationInfo.Price, OriginalPrice = evnt.SpecificationInfo.OriginalPrice, Benevolence = evnt.SpecificationInfo.Benevolence, Number = evnt.SpecificationInfo.Number, Thumb = evnt.SpecificationInfo.Thumb, BarCode = evnt.SpecificationInfo.BarCode }, new { GoodsId = evnt.AggregateRootId, Id = evnt.SpecificationId }, ConfigSettings.SpecificationTable, transaction); } })); }
private void Handle(SpecificationUpdatedEvent evnt) { _specifications.Single(x => x.Id == evnt.SpecificationId).Info = evnt.SpecificationInfo; }