/// <summary>
        /// Load the data for this CharacterLevel
        /// </summary>
        private void LoadData()
        {
            CharacterModel model;
            List <CharacterBonusFeatModel> bonusFeatModels;

            model = new CharacterModel();
            model.Intialize(_level);
            _characterId     = model.Id;
            _hitPoints       = model.HitPoints;
            _fortitudeSave   = model.FortitudeSave;
            _reflexSave      = model.ReflexSave;
            _willSave        = model.WillSave;
            _baseAttackBonus = model.BaseAttackBonus;
            _featTypeId      = model.FeatTypeId;

            _autoGrantedFeats = new List <AutoGrantedFeatDataClass>();
            bonusFeatModels   = CharacterBonusFeatModel.GetAll();

            foreach (CharacterBonusFeatModel bfModel in bonusFeatModels)
            {
                if (bfModel.Level == _level)
                {
                    _autoGrantedFeats.Add(new AutoGrantedFeatDataClass(bfModel.FeatId, bfModel.Level, bfModel.IgnorePreRequirements));
                }
            }
            IsLoaded = true;
        }
        private void PopulateData()
        {
            // Generate our lists that will be used for our comboboxes.
            FeatNames = FeatModel.GetNames();
            Levels.Clear();
            for (int i = 1; i <= Constant.MaxLevels; i++)
            {
                if (i > Constant.NumHeroicLevels && MainScreen != ScreenType.Character)
                {
                    break;
                }
                Levels.Add(i.ToString());
            }

            //Get our model data and record count
            switch (MainScreen)
            {
            case ScreenType.Character:
            {
                CharacterFeatModel = CharacterBonusFeatModel.GetAll();
                RecordCount        = CharacterFeatModel.Count;
                break;
            }

            case ScreenType.Class:
            {
                ClassFeatModel = ClassBonusFeatModel.GetAll(MainRecordId);
                RecordCount    = ClassFeatModel.Count;
                break;
            }

            case ScreenType.Race:
            {
                RaceFeatModel = RaceBonusFeatModel.GetAll(MainRecordId);
                RecordCount   = RaceFeatModel.Count;
                break;
            }
            }

            //Set our tracking variables to false.
            HasDataChanged.Clear();
            RecordDeleted.Clear();
            for (int i = 0; i < RecordCount; i++)
            {
                HasDataChanged.Add(false);
                RecordDeleted.Add(false);
            }
        }