Exemple #1
0
        private void RemoveSpell(SpellbookEntryViewModel spellbookEntryViewModel)
        {
            bool?result = _dialogService.ShowConfirmationDialog("Remove Spell", "Are you sure you want to remove " + spellbookEntryViewModel.SpellName + "?", "Yes", "No", null);

            if (result == true)
            {
                int level = Math.Max(spellbookEntryViewModel.Spell.Level, 0);

                SpellsByLevelViewModel spellsByLevelViewModel = _spellsByLevel.FirstOrDefault(x => x.Level == level);
                if (spellsByLevelViewModel != null)
                {
                    spellsByLevelViewModel.RemoveSpell(spellbookEntryViewModel.SpellbookEntryModel);
                    if (!spellsByLevelViewModel.Spells.Any() && _spellSlots[level] == 0)
                    {
                        _spellsByLevel.Remove(spellsByLevelViewModel);
                    }
                }

                SpellbookEntryViewModel spell = _spells.FirstOrDefault(x => x.Spell.Id == spellbookEntryViewModel.Spell.Id);
                if (spell != null)
                {
                    _spells.Remove(spell);
                    _spellbookModel.Spells.Remove(spell.SpellbookEntryModel);
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Removes the spell
        /// </summary>
        public void RemoveSpell(SpellbookEntryModel spellbookEntryModel)
        {
            SpellbookEntryViewModel spellbookEntryViewModel = _spells.FirstOrDefault(x => x.SpellbookEntryModel.ID == spellbookEntryModel.ID);

            if (spellbookEntryViewModel != null)
            {
                _spells.Remove(spellbookEntryViewModel);
                OnPropertyChanged(nameof(Spells));
                OnPropertyChanged(nameof(ShowClassSpellHeader));
                OnPropertyChanged(nameof(ShowRaceSpellHeader));
            }
        }