예제 #1
0
        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;
        }
예제 #2
0
 private void EditBand(BandVM bandvm)
 {
     bandvm.ShowEdit = "Hidden";
     bandvm.ShowCancel = "Visible";
     bandvm.ShowSave = "Visible";
     bandvm.Enabled = true;
 }
예제 #3
0
        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;
        }
예제 #4
0
        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";
        }
예제 #5
0
        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;
        }
예제 #6
0
        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");
            }
        }
예제 #7
0
        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");
        }
예제 #8
0
        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;
        }