コード例 #1
0
 private void Apply(PersonCreatedEvent e)
 {
     _id = e.Id;
     LastName = e.LastName;
     FirstName = e.FirstName;
     Age = e.Age;
 }
コード例 #2
0
        public void Replay(PersonCreatedEvent @event)
        {
            var personId = @event.PersonId;
            var person   = new Person(personId, @event.PersonName, _eventPublisher);

            _repositories.Store(person);
        }
コード例 #3
0
ファイル: Person.cs プロジェクト: zonaid/ncqrs
        public Person(Guid id, string forename, string surname)
        {
            EventSourceId = id;
            var e = new PersonCreatedEvent(forename, surname);

            ApplyEvent(e);
        }
コード例 #4
0
        public Person(Guid id, string name)
        {
            EventSourceId = id;
            var e = new PersonCreatedEvent(name);

            ApplyEvent(e);
        }
コード例 #5
0
ファイル: PersonView.cs プロジェクト: kouweizhong/Journeys
        public void Update(PersonCreatedEvent @event)
        {
            var personName = new PersonName(@event.PersonId, @event.PersonName);

            _peopleNames.Add(personName);
            _peopleByName.Add(personName);
        }
コード例 #6
0
        public async Task TestPersonCreateEventHandler()
        {
            //Arrange
            var handler = new PersonCreatedEventHandler(PersonCategoryRepository,
                                                        PersonPerCityCounterRepository, TransactionManager, NotificationSender.Object);

            var @event = new PersonCreatedEvent()
            {
                Person = CreatePerson1()
            };

            //Act
            var result = await GetCategory(@event.Person);

            var expected = result[0];

            expected.Count++;

            await handler.Handle(@event);

            result = await GetCategory(@event.Person);

            var obtained = result[0];

            //Assert
            Assert.Equal(expected.Count, obtained.Count);
        }
コード例 #7
0
        public async Task CreateAsync(Person person)
        {
            await this.iPersonRepository.CreateAsync(person);

            var personCreated = new PersonCreatedEvent(person.Id, person.Name);

            await this.personCreatedPublisher.PublishAsync(personCreated);
        }
コード例 #8
0
        private void CreateBtn_Click(object sender, RoutedEventArgs e)
        {
            int age;

            if (!int.TryParse(ageTxb.Text, out age))
            {
                return;
            }

            double weight;

            if (!double.TryParse(weightTxb.Text, out weight))
            {
                return;
            }

            PersonCreatedEvent?.Invoke(new Person(nameTxb.Text, weight, age));
            Close();
        }
コード例 #9
0
        public async Task TestPersonCreateEventHandler()
        {
            //Arrange
            await SetupData();

            var handler = new PersonCreatedEventHandler(PersonFamilyTreeRepository);
            var @event  = new PersonCreatedEvent()
            {
                Person = CreatePerson1()
            };

            //Act
            await handler.Handle(@event);

            //Assert
            var result = await PersonFamilyTreeRepository.GetFamilyTree("6", 1);

            Assert.NotEmpty(result.Nodes.Where(item => item.Id == "3"));
            Assert.NotEmpty(result.Nodes.Where(item => item.Id == "4"));
            Assert.NotEmpty(result.Nodes.Where(item => item.Id == "6"));
        }
コード例 #10
0
ファイル: Person.cs プロジェクト: diligencia/EventSourcing
 private void Apply(PersonCreatedEvent @event)
 {
     Id   = @event.AggregateRootId;
     Name = @event.Name;
     Age  = @event.Age;
 }
コード例 #11
0
ファイル: Person.cs プロジェクト: zonaid/ncqrs
 protected void OnPersonCreated(PersonCreatedEvent e)
 {
     forename = e.Forename;
     surname  = e.Surname;
 }
コード例 #12
0
 protected void OnPersonCreated(PersonCreatedEvent e)
 {
     name = e.Name;
 }
コード例 #13
0
 void IEmit <PersonCreatedEvent> .Apply(PersonCreatedEvent aggregateEvent)
 {
     // save name into field for later usage
     // ..
 }