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); }
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); }
/// <summary> /// AND条件项 /// </summary> /// <param name="Item"></param> /// <returns></returns> public MDXWhere And(AbstractWhereItem Item) { this.items.Add(Item); return(this); }