main
 1using presentation.windows.common;
 2using presentation.windows.common.messages;
 3using presentation.windows.server.domain;
 4using presentation.windows.server.orm;
 5
 6namespace presentation.windows.server.handlers
 7{
 8    public class AddNewFamilyMemberHandler : AbstractHandler<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 override 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}