Changeset 545


Ignore:
Timestamp:
05/22/14 16:19:46 (5 years ago)
Author:
jls17
Message:
  • first try to add currency support to qualifications
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/work_311/core/ARQualification.cpp

    r208 r545  
    1717#include "stdafx.h" 
    1818#include "ARQualification.h" 
     19#include "../output/URLLink.h" 
    1920 
    2021CARQualification::CARQualification(CARInside &arIn) 
     
    299300        } 
    300301        case AR_STAT_HISTORY: 
    301                 qText << "'" << arIn->LinkToField(pFormId, 15, rootLevel) << "."; 
    302  
    303                 if(!arIn->FieldreferenceExists(pFormId, 15, refItem)) 
    304                 { 
    305                         arIn->AddFieldReference(pFormId, 15, refItem); 
    306                 } 
    307  
    308                 string tmp = arIn->GetFieldEnumValue(pFormId, 7, operand->u.statHistory.enumVal);                                                                
    309                 if(!tmp.empty()) 
    310                         qText << tmp; 
    311                 else 
    312                         qText << operand->u.statHistory.enumVal; 
    313  
    314                 switch(operand->u.statHistory.userOrTime) 
    315                 { 
    316                 case AR_STAT_HISTORY_USER: 
    317                         qText << ".USER"; 
    318                         break; 
    319                 case AR_STAT_HISTORY_TIME: 
    320                         qText << ".TIME"; 
    321                         break; 
    322                 } 
    323                 qText << "'"; 
     302                { 
     303                        qText << "'" << arIn->LinkToField(pFormId, 15, rootLevel) << "."; 
     304 
     305                        if(!arIn->FieldreferenceExists(pFormId, 15, refItem)) 
     306                        { 
     307                                arIn->AddFieldReference(pFormId, 15, refItem); 
     308                        } 
     309 
     310                        string tmp = arIn->GetFieldEnumValue(pFormId, 7, operand->u.statHistory.enumVal);                                                                
     311                        if(!tmp.empty()) 
     312                                qText << tmp; 
     313                        else 
     314                                qText << operand->u.statHistory.enumVal; 
     315 
     316                        switch(operand->u.statHistory.userOrTime) 
     317                        { 
     318                        case AR_STAT_HISTORY_USER: 
     319                                qText << ".USER"; 
     320                                break; 
     321                        case AR_STAT_HISTORY_TIME: 
     322                                qText << ".TIME"; 
     323                                break; 
     324                        } 
     325                        qText << "'"; 
     326                } 
     327                break; 
     328        case AR_CURRENCY_FLD: 
     329                { 
     330                        qText << "'"; 
     331 
     332                        int iFieldId = operand->u.currencyField->fieldId; 
     333                        CARField currencyField(pFormId, iFieldId); 
     334 
     335                        if (currencyField.Exists()) 
     336                        { 
     337                                qText << URLLink(currencyField, rootLevel); 
     338                                arIn->AddFieldReference(pFormId, iFieldId, refItem); 
     339                        } 
     340                        else 
     341                                qText << iFieldId; 
     342 
     343                        unsigned int currencyFieldPart = operand->u.currencyField->partTag; 
     344                        if (currencyFieldPart != AR_CURRENCY_PART_FIELD) 
     345                        { 
     346                                qText << "."; 
     347                                switch (currencyFieldPart) 
     348                                { 
     349                                case AR_CURRENCY_PART_VALUE: 
     350                                case AR_CURRENCY_PART_TYPE: 
     351                                case AR_CURRENCY_PART_DATE: 
     352                                        qText << CAREnum::CurrencyPart(currencyFieldPart); 
     353                                        break; 
     354                                case AR_CURRENCY_PART_FUNCTIONAL: 
     355                                        qText << operand->u.currencyField->currencyCode; 
     356                                        break; 
     357                                } 
     358                        } 
     359 
     360                        qText << "'"; 
     361                } 
    324362                break; 
    325363        } 
Note: See TracChangeset for help on using the changeset viewer.