コード例 #1
0
        /// <summary>
        /// Creates an instance of <see cref="ClassesViewModel"/>
        /// </summary>
        public ClassesViewModel(Compendium compendium, ClassSearchService classSearchService, ClassSearchInput classSearchInput,
                                StringService stringService, DialogService dialogService, XMLImporter xmlImporter, XMLExporter xmlExporter, DataManager dataManager)
        {
            _compendium         = compendium;
            _classSearchService = classSearchService;
            _classSearchInput   = classSearchInput;
            _stringService      = stringService;
            _dialogService      = dialogService;
            _xmlImporter        = xmlImporter;
            _xmlExporter        = xmlExporter;
            _dataManager        = dataManager;

            _selectClassCommand     = new RelayCommand(obj => true, obj => SelectClass(obj as ClassListItemViewModel));
            _editClassCommand       = new RelayCommand(obj => true, obj => EditClass(obj as ClassViewModel));
            _exportClassCommand     = new RelayCommand(obj => true, obj => ExportClass(obj as ClassViewModel));
            _cancelEditClassCommand = new RelayCommand(obj => true, obj => CancelEditClass());
            _saveEditClassCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditClass());
            _resetFiltersCommand    = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand             = new RelayCommand(obj => true, obj => Add());
            _copyCommand            = new RelayCommand(obj => _selectedClass != null, obj => Copy());
            _deleteCommand          = new RelayCommand(obj => _selectedClass != null, obj => Delete());
            _importCommand          = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand      = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand  = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
コード例 #2
0
 /// <summary>
 /// True if the search input applies to the model
 /// </summary>
 public bool SearchInputApplies(ClassSearchInput searchInput, ClassModel classModel)
 {
     return(HasSearchText(classModel, searchInput.SearchText) &&
            HasAbility(classModel, searchInput.Ability.Key) &&
            HasArmor(classModel, searchInput.Armor.Key) &&
            HasWeapon(classModel, searchInput.Weapon.Key) &&
            HasTool(classModel, searchInput.Tool.Key) &&
            HasSkill(classModel, searchInput.Skill.Key));
 }
コード例 #3
0
 /// <summary>
 /// Searches the compendium for classes matching the search input
 /// </summary>
 public List <ClassModel> Search(ClassSearchInput searchInput)
 {
     return(Sort(_compendium.Classes.Where(x => SearchInputApplies(searchInput, x)), searchInput.SortOption.Key));
 }