示例#1
0
        //for selection or presentation with grouping id in from pxs
        public PXSqlGrouping(GroupingRow groupingRow, PXSqlMeta_21 meta, PXSqlVariableClassification var, StringCollection outputCodes)
        {
            Init(groupingRow, meta, var);
            StringCollection tempParentList = new StringCollection();

            mGroups = new List <PXSqlGroup>();
            PXSqlGroup tmpGroup = null;

            foreach (string code in outputCodes)
            {
                tmpGroup = new PXSqlGroup(code);
                mGroups.Add(tmpGroup);
            }

            foreach (PXSqlGroup group in mGroups)
            {
                List <VSGroupRow> tempList = meta.MetaQuery.GetVSGroupRow(mValuePoolId, mValuesetIds, mGroupingId, group.ParentCode);
                if (tempList.Count > 0)
                {
                    foreach (VSGroupRow row in tempList)
                    {
                        group.AddChildCode(row.ValueCode);
                    }
                }
                else
                {
                    group.AddChildCode(group.ParentCode);
                }
            }
            // Add the values to valuecollection of this variable
            AddValues(mValuePoolId, outputCodes, valuePoolValueTextExists);
        }
示例#2
0
        //for presentation without grouping id in from pxs
        public PXSqlGrouping(PXSqlMeta_21 meta, PXSqlVariableClassification var, List <PXSqlGroup> groupFromPxs)
        {
            this.meta     = meta;
            this.variable = var;
            this.valuePoolValueTextExists = var.ValuePool.ValueTextExists;
            this.mValuePoolId             = var.ValuePool.ValuePool;
            this.mGroups = groupFromPxs;

            StringCollection parentCodes = new StringCollection();

            foreach (PXSqlGroup group in groupFromPxs)
            {
                parentCodes.Add(group.ParentCode);
            }
            AddValues(mValuePoolId, parentCodes, valuePoolValueTextExists);
        }
示例#3
0
        //for Selection without grouping id in from pxs
        public PXSqlGrouping(GroupingRow groupingRow, PXSqlMeta_21 meta, PXSqlVariableClassification var, GroupingIncludesType include)
        {
            Init(groupingRow, meta, var);
            //TODO overriding include from paxiom, have to discuss how paxion can override database default.
            this.mIncludeType = include;
            // DONE, is now passed to paxiom as part of GroupingInfo ...  this.mIncludeType = this.mDefaultIncludeType;
            //TODO end
            StringCollection tempParentList = new StringCollection();

            mGroups = new List <PXSqlGroup>();
            PXSqlGroup tmpGroup = null;

            foreach (VSGroupRow myRow in meta.MetaQuery.GetVSGroupRowsSorted(mValuePoolId, mValuesetIds, mGroupingId, meta.MainLanguageCode))
            {
                if (!tempParentList.Contains(myRow.GroupCode))
                {
                    tmpGroup = new PXSqlGroup(myRow.GroupCode);
                    mGroups.Add(tmpGroup);
                    tempParentList.Add(myRow.GroupCode);
                }
                else
                {
                    foreach (PXSqlGroup group in mGroups)
                    {
                        if (group.ParentCode == myRow.GroupCode)
                        {
                            tmpGroup = group;
                            break;
                        }
                    }
                }
                tmpGroup.AddChildCode(myRow.ValueCode);
            }

            // Add the values to valuecollection of this variable
            AddValues(mValuePoolId, tempParentList, valuePoolValueTextExists);

            //PXSqlValue tempValue;
            //    foreach (ValueRow row in meta.MetaQuery.GetValueRowsByValuePool(mValuePoolId, tempParentList, valuePoolValueTextExists))
            //{
            //    tempValue = new PXSqlValue(row, meta.LanguageCodes, meta.MainLanguageCode);
            //    var.Values.Add(tempValue.ValueCode,tempValue);
            //}
        }
示例#4
0
        private void Init(GroupingRow groupingRow, PXSqlMeta_21 meta, PXSqlVariableClassification var)
        {
            this.meta     = meta;
            this.variable = var;
            this.valuePoolValueTextExists = var.ValuePool.ValueTextExists;
            this.mValuePoolId             = groupingRow.ValuePool;
            this.mValuesetIds             = var.ValusetIds;
            this.mGroupingId = groupingRow.Grouping;
            this.mGroupPres  = groupingRow.GroupPres;
            this.mGeoAreaNo  = groupingRow.GeoAreaNo;
            this.PresText    = new Dictionary <string, string>();
            this.Description = groupingRow.Description;
            foreach (string langCode in meta.LanguageCodes)
            {
                this.PresText[langCode] = groupingRow.texts[langCode].PresText;
            }
            this.SortCode = groupingRow.texts[meta.MainLanguageCode].SortCode;
            //TODO added databasedefault to override value from paxiom, should be possible to do both
            switch (this.mGroupPres.ToUpper())
            {
            case "I":
                mDefaultIncludeType = GroupingIncludesType.SingleValues;
                break;

            case "A":
                mDefaultIncludeType = GroupingIncludesType.AggregatedValues;
                break;

            case "B":
                mDefaultIncludeType = GroupingIncludesType.All;
                break;

            default:
                mDefaultIncludeType = GroupingIncludesType.AggregatedValues;
                break;
            }
        }