public DOCollection DO <T>(string propertyname, params KeyValuePair <string, object>[] param) where T : DODBaseUnit { DODParameter pp = new DODParameter(); pp.PropertyName = propertyname; foreach (var val in _driver._p.Domain(DomainKey.INPUT_PARAMETER)) { pp.SetValue(val.Key, val.Value); } foreach (var val in _driver._p.Domain(DomainKey.CONFIG)) { pp.SetValue(DomainKey.CONFIG, val.Key, val.Value); } if (param != null) { foreach (var val in param) { pp.SetValue(val.Key, val.Value); } } pp.FlowInstanceID = _driver._p.FlowInstanceID; pp.SetValue(ParameterKey.RESOURCE_MANAGER, _driver._p.Resources); pp.SetValue(ParameterKey.TOKEN, _driver._p.CurrentTransToken); var result = (DOCollection)UnitProxy <DODParameter> .Call <T>(pp); return(result); }
/// <summary> /// DOD调用,param的第一个默认为instanceid /// </summary> /// <typeparam name="T"></typeparam> /// <param name="propertyname"></param> /// <param name="param"></param> /// <returns></returns> public DOCollection DO <T>(string propertyname, params KeyValuePair <string, object>[] param) where T : DODBaseUnit { var pp = GetP(); pp.PropertyName = propertyname; if (param != null) { foreach (var val in param) { pp.SetValue(val.Key, val.Value); } } pp.ExtentionObj.instanceid = param.Length > 0 ? param[0].Value : ""; var result = (DOCollection)UnitProxy <DODParameter> .Call <T>(pp); return(result); }
/// <summary> /// 查询操作 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="p"></param> /// <param name="actionflag">动作区分标记</param> /// <returns></returns> public virtual UnitDataCollection Query <T>(UnitParameter p, string actionflag) where T : IDBUnit <UnitParameter> { p.SetValue("_unit_action_flag_", actionflag); return((UnitDataCollection)UnitProxy.Call <QueryUnit <T> >(p)); }
/// <summary> /// 非查询类的db操作 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="p"></param> /// <param name="actionflag">动作区分标记</param> public virtual void NonQuery <T>(UnitParameter p, string actionflag) where T : IDBUnit <UnitParameter> { p.SetValue("_unit_action_flag_", actionflag); UnitProxy.Call <NonQueryUnit <T> >(p); }