Ejemplo n.º 1
0
        public MainViewModel(IPersonService personService)
        {
            _personService = personService;

            _people = new ObservableCollection<PersonHeaderViewModel>();
            var task = _personService.LoadPeople();
            task.ContinueWith(t =>
             {
                 DispatcherHelper.CheckBeginInvokeOnUI(delegate
                 {
                     foreach (var person in t.Result)
                         _people.Add(new PersonHeaderViewModel
                         {
                             Id = person.Id,
                             FullName = String.Format("{0}, {1}",
                                 person.LastName,
                                 person.FirstName)
                         });
                 });
             });

            MessengerInstance.Register<PersonNameChanged>(this, message =>
            {
                var person = _people.FirstOrDefault(p =>
                    p.Id == message.PersonId);
                if (person != null)
                    person.FullName = String.Format("{0}, {1}",
                        message.LastName,
                        message.FirstName)
            });
        }