private void RegisterEditPersonDialog(IPersonDataStore personDataStore)
        {
            _messenger.Register<EditPersonDialogMessage>(this,
                x =>
                {
                    Person p = personDataStore.FindById(x.PersonId);
                    var m = new CreatePersonViewModel()
                    {
                        Title = "Person editieren",
                        PersonId = p.PersonId,
                        FirstName = p.FirstName,
                        LastName = p.LastName,
                        DateOfBirth = p.DateOfBirth,
                        Address = p.Address,
                        City = p.City,
                        ZipCode = p.ZipCode,
                        Email = p.Email,
                        Phone = p.Phone
                    };

                    IWindow w = _vs.ExecuteFunction<CreatePersonViewModel, IWindow>((IWindow) Current.MainWindow, m);
                    bool? result = w.ShowDialog();
                    if (!result.HasValue || !result.Value) return;

                    personDataStore.Update(new Person
                    {
                        PersonId = m.PersonId,
                        FirstName = m.FirstName,
                        LastName = m.LastName,
                        DateOfBirth = m.DateOfBirth,
                        Address = m.Address,
                        City = m.City,
                        ZipCode = m.ZipCode,
                        Email = m.Email,
                        Phone = m.Phone
                    });

                    _messenger.Send(new RefreshDataFromRepositoriesMessage());
                    _messenger.Send(new SetSelectedPersonMessage(m.PersonId));
                });
        }
        private void RegisterCreatePersonDialog(IPersonDataStore personDataStore)
        {
            _messenger.Register<CreatePersonDialogMessage>(this,
                x =>
                {
                    var m = new CreatePersonViewModel
                    {
                        Title = "Person erstellen"
                    };
                    IWindow w = _vs.ExecuteFunction<CreatePersonViewModel, IWindow>((IWindow) Current.MainWindow, m);
                    bool? result = w.ShowDialog();
                    if (!result.HasValue || !result.Value) return;

                    Person person = new Person
                    {
                        FirstName = m.FirstName,
                        LastName = m.LastName,
                        DateOfBirth = m.DateOfBirth,
                        Address = m.Address,
                        City = m.City,
                        ZipCode = m.ZipCode,
                        Email = m.Email,
                        Phone = m.Phone
                    };
                    personDataStore.Create(person);
                    _messenger.Send(new RefreshDataFromRepositoriesMessage());
                    _messenger.Send(new SetSelectedPersonMessage(person.PersonId));
                });
        }