/// <summary> /// Applique la suppression de la caractéristique courante. /// </summary> private void Remove() { // Ajoute la carac aux disponibles (supp des courantes) _selectedAvailableItem = _selectedCurrentItem; _availablesCaracs.Add(_selectedCurrentItem); _currentCaracs.Remove(_selectedCurrentItem); // Met à jour la sélection if (_currentCaracs.Count > 0) { _selectedCurrentItem = _currentCaracs[0]; } else { _selectedCurrentItem = null; } OnPropertyChanged("SelectedAvailableCarac"); OnPropertyChanged("SelectedCurrentCarac"); }
/// <summary> /// Constructeur. /// </summary> /// <param name="caracsAvailableModel">Liste de caractéristiques disponibles contenus dans le modèle.</param> /// <param name="caracsModel">Liste de caractéristiques possédées.</param> public CaracsModifViewModel(List <Caracteristique> caracsAvailableModel, List <Caracteristique> caracsModel) { // Initialise les collections du modèle _availablesCaracs = new ObservableCollection <CaracViewModel>(); _currentCaracs = new ObservableCollection <CaracViewModel>(); if (caracsModel != null) { // Liste des caracs déjà utilisées foreach (Caracteristique carac in caracsModel) { _currentCaracs.Add(new CaracViewModel(carac)); int index; if ((index = caracsAvailableModel.FindIndex(c => c.ID == carac.ID)) > -1) { caracsAvailableModel.RemoveAt(index); } } } // Reste de la liste des compétences disponibles foreach (Caracteristique carac in caracsAvailableModel) { _availablesCaracs.Add(new CaracViewModel(carac)); } // Auto sélectionne la première caractéristique disponible s'il y en a un if (_availablesCaracs.Count > 0) { _selectedAvailableItem = _availablesCaracs[0]; } // Auto sélectionne la première caractéristique utilisée s'il y en a un if (_currentCaracs.Count > 0) { _selectedCurrentItem = _currentCaracs[0]; } }
/// <summary> /// Constructeur. /// </summary> /// <param name="caracsAvailableModel">Liste de caractéristiques disponibles contenus dans le modèle.</param> /// <param name="caracsModel">Liste de caractéristiques possédées.</param> public CaracsModifViewModel(List<Caracteristique> caracsAvailableModel, List<Caracteristique> caracsModel) { // Initialise les collections du modèle _availablesCaracs = new ObservableCollection<CaracViewModel>(); _currentCaracs = new ObservableCollection<CaracViewModel>(); if (caracsModel != null) { // Liste des caracs déjà utilisées foreach (Caracteristique carac in caracsModel) { _currentCaracs.Add(new CaracViewModel(carac)); int index; if ((index = caracsAvailableModel.FindIndex(c => c.ID == carac.ID)) > -1) { caracsAvailableModel.RemoveAt(index); } } } // Reste de la liste des compétences disponibles foreach (Caracteristique carac in caracsAvailableModel) { _availablesCaracs.Add(new CaracViewModel(carac)); } // Auto sélectionne la première caractéristique disponible s'il y en a un if (_availablesCaracs.Count > 0) { _selectedAvailableItem = _availablesCaracs[0]; } // Auto sélectionne la première caractéristique utilisée s'il y en a un if (_currentCaracs.Count > 0) { _selectedCurrentItem = _currentCaracs[0]; } }
/// <summary> /// Applique la suppression de la caractéristique courante. /// </summary> private void Remove() { // Ajoute la carac aux disponibles (supp des courantes) _selectedAvailableItem = _selectedCurrentItem; _availablesCaracs.Add(_selectedCurrentItem); _currentCaracs.Remove(_selectedCurrentItem); // Met à jour la sélection if (_currentCaracs.Count > 0) { _selectedCurrentItem = _currentCaracs[0]; } else { _selectedCurrentItem = null; } OnPropertyChanged("SelectedAvailableCarac"); OnPropertyChanged("SelectedCurrentCarac"); }