Пример #1
0
        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)));
        }
Пример #2
0
        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;
        }