void CurrentAlbumViewModel_AlbumUpdated(object sender, AlbumEventArgs e) { if (!e.IsNew) { AlbumViewModel albumVm = _albumVMs.Where(item => item.AlbumId == e.Album.AlbumId) .FirstOrDefault(); if (albumVm != null) { albumVm.AlbumId = e.Album.AlbumId; albumVm.AlbumNumber = e.Album.AlbumNumber; albumVm.Title = e.Album.Title; albumVm.Artist = e.Album.Artist; albumVm.Genre = GetGenre(e.Album.Genre); albumVm.Image = e.Album.Image; albumVm.Price = e.Album.Price; albumVm.StockAmount = e.Album.StockAmount; } } else { AlbumViewModel albumVm = new AlbumViewModel { AlbumId = e.Album.AlbumId, AlbumNumber = e.Album.AlbumNumber, Artist = e.Album.Artist, Genre = GetGenre(e.Album.Genre), Image = e.Album.Image, Price = e.Album.Price, StockAmount = e.Album.StockAmount, Title = e.Album.Title }; AlbumVMs.Add(albumVm); } CurrentAlbumViewModel = null; }
void OnAddAlbumCommand(object obj) { Album album = new Album(); CurrentAlbumViewModel = new EditAlbumViewModel(_serviceFactory, album); CurrentAlbumViewModel.AlbumUpdated += CurrentAlbumViewModel_AlbumUpdated; CurrentAlbumViewModel.CancelEditAlbum += CurrentAlbumViewModel_CancelEditAlbum; }
void OnEditAlbumCommand(AlbumViewModel albumVM) { if (albumVM != null) { Album album = new Album { AlbumId = albumVM.AlbumId, AlbumNumber = albumVM.AlbumNumber, Artist = albumVM.Artist, Genre = GetGenreCode(albumVM.Genre), Image = albumVM.Image, Price = albumVM.Price, StockAmount = albumVM.StockAmount, Title = albumVM.Title }; CurrentAlbumViewModel = new EditAlbumViewModel(_serviceFactory, album); CurrentAlbumViewModel.AlbumUpdated += CurrentAlbumViewModel_AlbumUpdated; CurrentAlbumViewModel.CancelEditAlbum += CurrentAlbumViewModel_CancelEditAlbum; } }
void CurrentAlbumViewModel_CancelEditAlbum(object sender, EventArgs e) { CurrentAlbumViewModel = null; }