예제 #1
0
        public void Handle(ProjectTitleUpdatedEvent domainEvent)
        {
            LogToConsole(domainEvent);

            dynamic eventData = JsonConvert.DeserializeObject(domainEvent.JsonPayload);

            var project = _projectRepository.Get(domainEvent.AggregateId);

            project.Title = (string)eventData.NewTitle;

            _projectRepository.Update(project);
        }
예제 #2
0
        public void UpdateTitle(string newTitle)
        {
            CheckIfCreated();

            var payload     = new { NewTitle = newTitle };
            var jsonPayload = JsonConvert.SerializeObject(payload);

            var titleUpdatedEvent = new ProjectTitleUpdatedEvent(
                Id,
                Version + 1,
                jsonPayload);

            Apply(titleUpdatedEvent);
        }