private void OnEmployeeNameChange(EmployeeChangedName ev) { var messageId = $"employee-name-change-{ev.EmployeeId}-{ev.TimeStamp}"; var text = $"From now on, {ev.OldName} is to be known as {ev.NewName}"; this.employeeFeed.Tell(new PostMessage(new Message(messageId, this.employeeMetadata.EmployeeId, "Employee name has changed", text, ev.TimeStamp.UtcDateTime))); }
private void UpdateEmployeeMetadata(EmployeeMetadata informationMetadata) { if (informationMetadata.Position != this.employeeMetadata.Position) { var ev = new EmployeeChangedPosition() { EmployeeId = this.employeeMetadata.EmployeeId, NewPosition = informationMetadata.Position, OldPosition = this.employeeMetadata.Position, TimeStamp = DateTimeOffset.UtcNow }; this.Persist(ev, this.OnEmployeePositionChange); this.employeeMetadata.Position = ev.NewPosition; } if (informationMetadata.Name != this.employeeMetadata.Name) { var ev = new EmployeeChangedName() { EmployeeId = this.employeeMetadata.EmployeeId, NewName = informationMetadata.Name, OldName = this.employeeMetadata.Name, TimeStamp = DateTimeOffset.UtcNow }; this.Persist(ev, this.OnEmployeeNameChange); this.employeeMetadata.Name = informationMetadata.Name; } if (informationMetadata.DepartmentId != this.employeeMetadata.DepartmentId) { //TODO: department id change handler this.employeeMetadata.DepartmentId = informationMetadata.DepartmentId; } this.employeeMetadata = informationMetadata; }