/// <summary> /// Creates an instance of <see cref="SpellbookViewModel"/> /// </summary> public SpellbookViewModel(SpellbookModel spellbookModel) : base() { _spellbookModel = spellbookModel; foreach (SpellbookEntryModel spellbookEntryModel in _spellbookModel.Spells.OrderBy(x => x.Spell.Name)) { _spells.Add(new SpellbookEntryViewModel(spellbookEntryModel)); } _rollToHitCommand = new RelayCommand(obj => true, obj => RollToHit()); _decreaseSpellSlotCommand = new RelayCommand(obj => true, obj => DecreaseSpellSlots((int)obj)); _increaseSpellSlotCommand = new RelayCommand(obj => true, obj => IncreaseSpellSlots((int)obj)); _showAddSpellDialogCommand = new RelayCommand(obj => true, obj => ShowAddSpellDialog()); _removeSpellCommand = new RelayCommand(obj => true, obj => RemoveSpell((SpellbookEntryViewModel)obj)); _exportCommand = new RelayCommand(obj => true, obj => Export()); }
/// <summary> /// Shows create spellbook dialog /// </summary> public SpellbookModel ShowCreateSpellbookDialog(string title, SpellbookModel spellbookModel) { ModalDialog modalDialog = new ModalDialog(); if (_parentWindow != null) { modalDialog.Owner = _parentWindow; } SpellbookModel spellbookModelCopy = new SpellbookModel(spellbookModel); SpellbookViewModel spellbookViewModel = new SpellbookViewModel(spellbookModelCopy); spellbookViewModel.InitializeOptions(); CreateSpellbookView createSpellbookView = new CreateSpellbookView(spellbookViewModel); modalDialog.WindowTitle = title; modalDialog.Body = createSpellbookView; modalDialog.Confirmation = createSpellbookView.ViewModel; bool?result = ShowDialog(modalDialog); return(result == true ? spellbookModelCopy : null); }