private void UpdateStatusSummary()
    {
        foreach (KeyValuePair <string, int> bonus in dicBonus)
        {
            string id    = bonus.Key;
            int    value = bonus.Value;

            switch (id)
            {
            case INST_Math_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _mathHardSkilGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Programming_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _programmingHardSkillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Engine_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _engineHardSkillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Ai_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _aiHardSkillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Network_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _networkHardSkillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Design_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _designHardSillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Testing_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _testingHardSillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Art_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _artHardSillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Sound_Id:
                _hardSkillsController.IncreaseEXP(id, value);
                _soundHardSillGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Coding_Status:
                _characterStatusController.IncreaseCodingStatus(value);
                _codingStatusGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Design_Status:
                _characterStatusController.IncreaseDesignStatus(value);
                _designStatusGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Testing_Status:
                _characterStatusController.IncreaseTestingStatus(value);
                _testingStatusGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Art_Status:
                _characterStatusController.IncreaseArtStatus(value);
                _artStatusGenerator.CreateTemplate(value.ToString());
                break;

            case INST_Sound_Status:
                _characterStatusController.IncreaseSoundStatus(value);
                _soundStatusGenerator.CreateTemplate(value.ToString());
                break;
            }
        }

        _characterStatusController.IncreaseEXP(exp * times * numCourseTag);
    }