예제 #1
0
        internal OperandAdmin(InfoStore _infoStore)
        {
            infoStore = _infoStore;

            // add the "static" elements to the operand-index, i.e.all queries ...
            foreach (string queryName in DefinitionAdmin.GetQueryNamesAndAliases())
            {
                RegisterOperand(name: queryName,
                                description: null, // is used for error-messages only, and this should not fail
                                operand: new Operand(_parType: DefPar.PAR_TYPE.QUERY,
                                                     _creatorFun: string.Empty,
                                                     _isGlobal: false,          // is ignored and actually set in ParQuery.CheckAndPrepare
                                                     _isMonetary: false,        // not relevant for a query (i.e. is a variable-attribute)
                                                     _isWriteable: false,       // ditto
                                                     _addToHHPersonList: false, // ditto
                                                     _readFromFile: false,      // ditto
                                                     _isInitialised: true));    // ditto
            }
            // register fundamental variables, IDs, DAG, DGN, ...
            foreach (string fv in new List <string>()
            {
                DefVarName.IDHH, DefVarName.IDPERSON,
                DefVarName.IDMOTHER, DefVarName.IDFATHER, DefVarName.IDPARTNER,
                DefVarName.DAG, DefVarName.DGN, DefVarName.DEC, DefVarName.DWT,
                DefVarName.DMS, DefVarName.LES, DefVarName.LOC,
                DefVarName.DEFAULT_ELIGVAR
            })
            {
                bool readFromFile = fv != DefVarName.DEFAULT_ELIGVAR;
                RegisterOperand(name: fv,
                                description: null, // see above
                                operand: new Operand(_parType: DefPar.PAR_TYPE.VAR,
                                                     _creatorFun: string.Empty,
                                                     _isGlobal: false,
                                                     _isMonetary: false,
                                                     _isWriteable: true, // in principle though usually useless
                                                     _addToHHPersonList: true,
                                                     _readFromFile: readFromFile,
                                                     _isInitialised: true));
            }
        }