Changeset 639


Ignore:
Timestamp:
09/11/14 16:09:00 (3 years ago)
Author:
jls17
Message:
  • extracted code into separate method
Location:
branches/work_312/lists
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/work_312/lists/ARGroupList.cpp

    r403 r639  
    9999 
    100100                                        AREntryIdList& entryId = values.entryList[row].entryId; 
    101                                         ARFieldValueList& value = *values.entryList[row].entryValues; 
     101                                        ARFieldValueList& rowValues = *values.entryList[row].entryValues; 
    102102 
    103103                                        sortedList.push_back(static_cast<int>(requestId.size())); 
    104104                                        requestId.push_back((entryId.numItems == 1 ? entryId.entryIdList[0] : "")); 
    105105 
    106                                         for (unsigned int curFieldPos = 0; curFieldPos != value.numItems; ++curFieldPos) 
    107                                         { 
    108                                                 switch (value.fieldValueList[curFieldPos].fieldId) 
    109                                                 { 
    110                                                 case AR_RESERV_GROUP_NAME: 
    111                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
    112                                                                 names.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
    113                                                         break; 
    114                                                 case AR_RESERV_GROUP_ID: 
    115                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
    116                                                                 ids.push_back(value.fieldValueList[curFieldPos].value.u.intVal); 
    117                                                         break; 
    118                                                 case AR_RESERV_GROUP_TYPE: 
    119                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_ENUM || 
    120                                                             value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
    121                                                                 types.push_back(value.fieldValueList[curFieldPos].value.u.intVal); 
    122                                                         break; 
    123                                                 case AR_CORE_SHORT_DESCRIPTION: 
    124                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
    125                                                                 longNames.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
    126                                                         break; 
    127                                                 case AR_CORE_SUBMITTER: 
    128                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
    129                                                         { 
    130                                                                 int index = owners.numItems++; 
    131                                                                 strncpy(owners.nameList[index], value.fieldValueList[curFieldPos].value.u.charVal, AR_MAX_ACCESS_NAME_SIZE); 
    132                                                                 owners.nameList[index][AR_MAX_ACCESS_NAME_SIZE] = 0; 
    133                                                         } 
    134                                                         break; 
    135                                                 case AR_CORE_CREATE_DATE: 
    136                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_TIME) 
    137                                                                 createDate.push_back(value.fieldValueList[curFieldPos].value.u.dateVal); 
    138                                                         break; 
    139                                                 case AR_CORE_LAST_MODIFIED_BY: 
    140                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
    141                                                         { 
    142                                                                 int index = changedUsers.numItems++; 
    143                                                                 strncpy(changedUsers.nameList[index], value.fieldValueList[curFieldPos].value.u.charVal, AR_MAX_ACCESS_NAME_SIZE); 
    144                                                                 changedUsers.nameList[index][AR_MAX_ACCESS_NAME_SIZE] = 0; 
    145                                                         } 
    146                                                         break; 
    147                                                 case AR_CORE_MODIFIED_DATE: 
    148                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_TIME) 
    149                                                                 modifiedDate.push_back(value.fieldValueList[curFieldPos].value.u.dateVal); 
    150                                                         break; 
    151                                                 case AR_RESERV_GROUP_CATEGORY: 
    152                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_ENUM || 
    153                                                             value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
    154                                                                 category.push_back(value.fieldValueList[curFieldPos].value.u.enumVal); 
    155                                                         break; 
    156                                                 case AR_RESERV_COMPUTED_GROUP_QUAL: 
    157                                                         if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
    158                                                                 computedQual.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
    159                                                         break; 
    160                                                 } 
    161                                         } 
     106                                        StoreEntry(rowValues); 
    162107 
    163108                                        if (names.size() < requestId.size()) names.resize(requestId.size()); 
     
    238183        } 
    239184} 
     185 
     186void CARGroupList::StoreEntry(ARFieldValueList& value) 
     187{ 
     188        for (unsigned int curFieldPos = 0; curFieldPos != value.numItems; ++curFieldPos) 
     189        { 
     190                switch (value.fieldValueList[curFieldPos].fieldId) 
     191                { 
     192                case AR_RESERV_GROUP_NAME: 
     193                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
     194                                names.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
     195                        break; 
     196                case AR_RESERV_GROUP_ID: 
     197                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
     198                                ids.push_back(value.fieldValueList[curFieldPos].value.u.intVal); 
     199                        break; 
     200                case AR_RESERV_GROUP_TYPE: 
     201                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_ENUM || 
     202                            value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
     203                                types.push_back(value.fieldValueList[curFieldPos].value.u.intVal); 
     204                        break; 
     205                case AR_CORE_SHORT_DESCRIPTION: 
     206                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
     207                                longNames.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
     208                        break; 
     209                case AR_CORE_SUBMITTER: 
     210                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
     211                        { 
     212                                int index = owners.numItems++; 
     213                                strncpy(owners.nameList[index], value.fieldValueList[curFieldPos].value.u.charVal, AR_MAX_ACCESS_NAME_SIZE); 
     214                                owners.nameList[index][AR_MAX_ACCESS_NAME_SIZE] = 0; 
     215                        } 
     216                        break; 
     217                case AR_CORE_CREATE_DATE: 
     218                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_TIME) 
     219                                createDate.push_back(value.fieldValueList[curFieldPos].value.u.dateVal); 
     220                        break; 
     221                case AR_CORE_LAST_MODIFIED_BY: 
     222                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
     223                        { 
     224                                int index = changedUsers.numItems++; 
     225                                strncpy(changedUsers.nameList[index], value.fieldValueList[curFieldPos].value.u.charVal, AR_MAX_ACCESS_NAME_SIZE); 
     226                                changedUsers.nameList[index][AR_MAX_ACCESS_NAME_SIZE] = 0; 
     227                        } 
     228                        break; 
     229                case AR_CORE_MODIFIED_DATE: 
     230                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_TIME) 
     231                                modifiedDate.push_back(value.fieldValueList[curFieldPos].value.u.dateVal); 
     232                        break; 
     233                case AR_RESERV_GROUP_CATEGORY: 
     234                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_ENUM || 
     235                            value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_INTEGER) 
     236                                category.push_back(value.fieldValueList[curFieldPos].value.u.enumVal); 
     237                        break; 
     238                case AR_RESERV_COMPUTED_GROUP_QUAL: 
     239                        if (value.fieldValueList[curFieldPos].value.dataType == AR_DATA_TYPE_CHAR) 
     240                                computedQual.push_back(value.fieldValueList[curFieldPos].value.u.charVal); 
     241                        break; 
     242                } 
     243        } 
     244} 
  • branches/work_312/lists/ARGroupList.h

    r227 r639  
    5151 
    5252private: 
     53        void StoreEntry(ARFieldValueList& value); 
     54 
     55private: 
    5356        vector<string> requestId; 
    5457        vector<string> names; 
Note: See TracChangeset for help on using the changeset viewer.