main
1using solidware.financials.infrastructure;
2using solidware.financials.messages;
3using solidware.financials.service.domain;
4using solidware.financials.service.orm;
5
6namespace solidware.financials.service.handlers
7{
8 public class AddNewFamilyMemberHandler : Handles<FamilyMemberToAdd>
9 {
10 PersonRepository people;
11 ServiceBus bus;
12
13 public AddNewFamilyMemberHandler(PersonRepository people, ServiceBus bus)
14 {
15 this.people = people;
16 this.bus = bus;
17 }
18
19 public void handle(FamilyMemberToAdd item)
20 {
21 var person = Person.New(item.first_name, item.last_name, item.date_of_birth);
22 people.save(person);
23 bus.publish<AddedNewFamilyMember>(x =>
24 {
25 x.id = person.id;
26 x.first_name = person.first_name;
27 x.last_name = person.last_name;
28 });
29 }
30 }
31}