private void SelectFilm(Guid id) { var filmDetailViewModel = FilmDetailViewModels.SingleOrDefault(vm => vm.Model.Id == id); if (filmDetailViewModel == null) { filmDetailViewModel = _filmDetailViewModelFactory.Create(); FilmDetailViewModels.Add(filmDetailViewModel); } filmDetailViewModel.Load(id); SelectedFilmDetailViewModel = filmDetailViewModel; }
private void OnFilmUpdated(UpdateMessage <FilmWrapper> message) { var filmDetailViewModel = FilmDetailViewModels.SingleOrDefault(vm => vm.Model.Id == message.Model.Id); if (filmDetailViewModel != null) { filmDetailViewModel.Load(message.Model.Id); } if (SelectedPersonDetailViewModel != null) { SelectedPersonDetailViewModel.Load(SelectedPersonDetailViewModel.Model.Id); } }
private void OnFilmDeleted(DeleteMessage <FilmWrapper> message) { var film = FilmDetailViewModels.SingleOrDefault(i => i.Model.Id == message.Id); if (film != null) { FilmDetailViewModels.Remove(film); if (FilmDetailViewModels.Any()) { _mediator.Send(new SelectedMessage <FilmWrapper> { Id = FilmDetailViewModels.Last().Model.Id }); } } }