コード例 #1
0
ファイル: CriteriaHelper.cs プロジェクト: gyb333/OLAP
        public static AbstractWhereItem ToWhereItem(CriteriaPropertyAttribute attr, dynamic val)
        {
            AbstractWhereItem result = null;

            switch (attr.Opration)
            {
            case CriteriaOprations.In:
                result = new InWhereItem
                {
                    Dimission = attr.Dimission,
                    Values    = val
                };
                break;

            case CriteriaOprations.Range:
                result = new RangeWhereItem
                {
                    Dimission = attr.Dimission,
                    ValueFrom = val[0],
                    ValueTo   = val.Length > 1 ? val[1] : null
                };
                break;

            default:
                result = new EqualWhereItem
                {
                    Dimission = attr.Dimission,
                    Value     = val
                };
                break;
            }

            return(result);
        }
コード例 #2
0
        private IMDXAxis ToAxis(CriteriaPropertyAttribute attr, dynamic val)
        {
            AbstractWhereItem result = ToWhereItem(attr, val);
            var axis = new MDXAxis
            {
                AxisType = MDXAxis.COLUMN_AXIS
            };

            if (attr.Opration == CriteriaOprations.Eq)
            {
                axis.AxisItem = new StringAxisItem($"({{{result.Build()}}})");
            }
            else
            {
                axis.AxisItem = new StringAxisItem($"({result.Build()})");
            }
            return(axis);
        }
コード例 #3
0
 /// <summary>
 /// AND条件项
 /// </summary>
 /// <param name="Item"></param>
 /// <returns></returns>
 public MDXWhere And(AbstractWhereItem Item)
 {
     this.items.Add(Item);
     return(this);
 }