protected override object EvaluateFunction(object[] args) { if (((args == null) || (args.Length < this.MinArgs)) || (args.Length > this.MaxArgs)) { return("#VALUE?"); } List <string> list = new List <string>(); foreach (object obj2 in args) { list.Add((string)obj2); } BugdetDataFunctionArgs args2 = new BugdetDataFunctionArgs(); Kingdee.BOS.Context namedSlotData = KdsCalcCacheMananger.GetNamedSlotData("Context") as Kingdee.BOS.Context; List <string> values = BugdetDataFunctionArgs.Validate(args2.ConvertToFunctionArgs(namedSlotData, list.ToArray()), namedSlotData); if (values.Count > 0) { return(string.Format("#{0}", string.Join("", values))); } KdsCalcCacheMananger.GetNamedSlotData("KDSContext"); KdsCalcCacheMananger.GetNamedSlotData("ReportProperty"); KdsCalcCacheMananger.GetNamedSlotData("KDSCalContext"); object obj3 = null; return(decimal.Parse(obj3.ToString())); }
public override object GetFunctionValue(Context ctx, KDSContext kdsContext, string[] args) { BudgetDataEntities funcArgs = new BugdetDataFunctionArgs().ConvertToFunctionArgs(ctx, args); List <string> values = BugdetDataFunctionArgs.Validate(funcArgs, ctx); if (values.Count > 0) { return(string.Format("#{0}", string.Join("", values))); } BugdetDataService service = new BugdetDataService(); return(service.GetBugdetValue(ctx, funcArgs)); }
private bool IntelligentValidate(FunctionExpression function, ExpressionVisitor expressionVisitor, ref Dictionary <FunctionExpression, object> dctFuncValue) { IList <object> funcArgs = this.GetFuncArgs(function, expressionVisitor); List <string> list2 = new List <string>(); foreach (object obj2 in funcArgs) { list2.Add((string)obj2); } BugdetDataFunctionArgs args = new BugdetDataFunctionArgs(); List <string> list3 = BugdetDataFunctionArgs.Validate(args.ConvertToFunctionArgs(this.Context, list2.ToArray()), this.Context); if (list3.Count > 0) { dctFuncValue.Add(function, string.Format("#{0}", list3[0])); return(false); } return(true); }