public async Task HandleAsync(UserDisplayNameChangedEvent message) { var accountId = message.AggregateRootKey.ToString(); var updateCriteria = new UpdateCriteria <AccountTableObject> { { x => x.DisplayName, message.DisplayName } }; Expression <Func <AccountTableObject, bool> > updateSpecification = x => x.Id == accountId; await gateway.UpdateAsync <AccountTableObject>(updateCriteria, updateSpecification); }
public async Task HandleAsync(UserDisplayNameChangedEvent message) { var userId = message.AggregateRootKey.ToString(); var networkTableUpdateBatch = new List <Tuple <UpdateCriteria <NetworkTableObject>, Specification <NetworkTableObject> > >(); Expression <Func <NetworkTableObject, bool> > originatorEqualsSpecification = x => x.OriginatorId == userId; Expression <Func <NetworkTableObject, bool> > targetUserEqualsSpecification = x => x.TargetId == userId; networkTableUpdateBatch.Add(new Tuple <UpdateCriteria <NetworkTableObject>, Specification <NetworkTableObject> >( new UpdateCriteria <NetworkTableObject> { { x => x.OriginatorName, message.DisplayName } }, originatorEqualsSpecification)); networkTableUpdateBatch.Add(new Tuple <UpdateCriteria <NetworkTableObject>, Specification <NetworkTableObject> >( new UpdateCriteria <NetworkTableObject> { { x => x.TargetUserName, message.DisplayName } }, targetUserEqualsSpecification)); await this.tableGateway.UpdateAsync <NetworkTableObject>(networkTableUpdateBatch); var userNamesTableUpdateCriteria = new UpdateCriteria <UserNameTableObject> { { x => x.DisplayName, message.DisplayName } }; Expression <Func <UserNameTableObject, bool> > userIdSpecification = x => x.UserId == userId; await this.tableGateway.UpdateAsync <UserNameTableObject>(userNamesTableUpdateCriteria, userIdSpecification); }
private void HandleChangeDisplayNameEvent(UserDisplayNameChangedEvent evnt) { this.DisplayName = evnt.DisplayName; }