Example #1
0
        public PXSqlValueSet(QueryLib_24.ValueSetRow inRow, PXSqlMeta_24 meta, bool isDefaultInGui)
        {
            this.mValueSet       = inRow.ValueSet;
            this.elimination     = new EliminationAux(inRow.EliminationMethod, inRow.EliminationCode, meta.Config.Codes);
            this.mSortCodeExists = inRow.SortCodeExists;
            this.mValuePoolId    = inRow.ValuePool;
            this.mValuePres      = inRow.ValuePres;
            this.mGeoAreaNo      = inRow.GeoAreaNo;
            this.mMetaId         = inRow.MetaId;

            this.IsDefault = isDefaultInGui;



            foreach (string langCode in inRow.texts.Keys)
            {
                //PresText came in version 2.1 and is optional  ...  desciption is up to 200 chars
                string asPresText = inRow.texts[langCode].PresText;
                if (String.IsNullOrEmpty(asPresText))
                {
                    asPresText = inRow.texts[langCode].Description;
                    int gridPosition = asPresText.IndexOf('#');
                    if (gridPosition > 0)
                    {
                        asPresText = asPresText.Substring(0, gridPosition);
                    }
                }
                mPresText[langCode] = asPresText;
            }
            //private int mNumberOfValues; is set outside class. Bad thing? Yes
        }
Example #2
0
 //for magic all
 public PXSqlValueSet(Dictionary <string, string> presText, string valuePoolId, List <EliminationAux> elims, string sortCodeExists, string valuePres)
 {
     this.mValueSet       = PCAxis.PlugIn.Sql.PXSqlKeywords.FICTIONAL_ID_ALLVALUESETS;
     this.mPresText       = presText;
     this.mValuePoolId    = valuePoolId;
     this.elimination     = EliminationAux.MergeEliminations(elims);
     this.mSortCodeExists = sortCodeExists;
     this.mValuePres      = valuePres;
     this.mGeoAreaNo      = "";
 }
Example #3
0
        public static EliminationAux MergeEliminations(List <EliminationAux> elims)
        {
            if (elims.Count == 1)
            {
                return(elims[0]);
            }



            int            numberOfElimA         = 0;
            int            numberOfElimN         = 0;
            int            numberOfElimOtherCode = 0;
            EliminationAux elimByCode            = elims[0];

            foreach (EliminationAux elimval in elims)
            {
                if (elimval.EliminationMethod == elimval.DBCodeForByAggregation())
                {
                    numberOfElimA++;
                }
                else if (elimval.EliminationMethod == elimval.DBCodeForByNotAllowed())
                {
                    numberOfElimN++;
                }
                else
                {
                    numberOfElimOtherCode++;
                    elimByCode = elimval;
                }
            }

            //jfi sep 2015. This:
            //if ((numberOfElimA == ElimValues.Count - 1) && (numberOfElimOtherCode == 1))
            //was found to be too strict in VariablerOgVerdimengder-4.doc

            if ((numberOfElimOtherCode == 1))
            {
                return(elimByCode);
            }
            else
            {
                return(new EliminationAux(null, null, elims[0].ccodes));
            }
        }