private void SelectionChanged(BandVM bandvm) { if (SelectedBand == null) return; if (ShowCancel == "Visible") CancelUpdateBand(this); _oldBand = SelectedBand.Copy(); SelectedBandGenres = BandGenre.GetBandGenres(SelectedBand.ID); _oldBandGenres = BandGenre.GetBandGenres(SelectedBand.ID); bandvm.ShowEdit = "Visible"; bandvm.ShowCancel = "Hidden"; bandvm.ShowSave = "Hidden"; Enabled = false; }
private void EditBand(BandVM bandvm) { bandvm.ShowEdit = "Hidden"; bandvm.ShowCancel = "Visible"; bandvm.ShowSave = "Visible"; bandvm.Enabled = true; }
private void SaveUpdateBand(BandVM bandvm) { // Check if valid if (!SelectedBand.IsValid()) return; int bandID = SelectedBand.ID; // Save Changes if (_oldBand == null) { // Insert into db bandID = Band.AddBand(SelectedBand); } else { // Update db Band.UpdateBand(SelectedBand); } // Check valid genre parameters ObservableCollection<BandGenre> bandGenreResults = new ObservableCollection<BandGenre>(); foreach (BandGenre bg in SelectedBandGenres) { bool allreadyExists = false; foreach (BandGenre bgr in bandGenreResults) { if (bgr.GenreID == bg.GenreID || bgr.GenreID == -1) allreadyExists = true; } if (!allreadyExists) { bg.BandID = bandID; bandGenreResults.Add(bg); } } // Delete the previous genres if (_oldBandGenres != null) { foreach (BandGenre bg in _oldBandGenres) { BandGenre.DeleteBandGenre(bg); } } // Add the new band genres foreach (BandGenre bgr in bandGenreResults) { bgr.ID = BandGenre.AddBandGenre(bgr); } SelectedBandGenres = bandGenreResults; // Update GUI bandvm.ShowEdit = "Visible"; bandvm.ShowCancel = "Hidden"; bandvm.ShowSave = "Hidden"; Enabled = false; }
private void DeleteBand(BandVM bandvm) { if (SelectedBand == null) return; // Delete the previous genres foreach (BandGenre bg in _oldBandGenres) { BandGenre.DeleteBandGenre(bg); } Band.DeleteBand(SelectedBand); SelectedBand = new Band(); Enabled = true; ShowEdit = "Hidden"; ShowCancel = "Hidden"; ShowSave = "Visible"; }
private void CancelUpdateBand(BandVM bandvm) { // Reset band _changeNotify = false; SelectedBand = _oldBand; SelectedBandGenres = BandGenre.GetBandGenres(SelectedBand.ID); bandvm.ShowEdit = "Visible"; bandvm.ShowCancel = "Hidden"; bandvm.ShowSave = "Hidden"; Enabled = false; }
private void Browse(BandVM bandvm) { OpenFileDialog dlg = new OpenFileDialog(); dlg.DefaultExt = ".jpg"; dlg.Filter = "Image files (*.jpg, *.jpeg, *.png, *.gif)|*.jpg; *.jpeg; *.png; *.gif"; Nullable<bool> result = dlg.ShowDialog(); if (result == true) { ImagePathToByteArrayConverter converter = new ImagePathToByteArrayConverter(); SelectedBand.Picture = (byte[])converter.Convert(dlg.FileName, null, null, null); OnPropertyChanged("SelectedBand"); } }
private void AddGenre(BandVM bandvm) { if (SelectedBandGenres == null) return; if (SelectedBandGenres.Count > 5) return; SelectedBandGenres.Add(new BandGenre() { ID = -1, BandID = -1, GenreID = -1 }); OnPropertyChanged("SelectedBandGenres"); }
private void AddBand(BandVM bandvm) { SelectedBand = new Band(); SelectedBandGenres = new ObservableCollection<BandGenre>(); AddGenre(this); _oldBand = null; bandvm.ShowEdit = "Hidden"; bandvm.ShowCancel = "Visible"; bandvm.ShowSave = "Visible"; bandvm.Enabled = true; }