/// <summary> /// 通过condition获得一个参数信息 /// </summary> /// <param name="condition"></param> /// <param name="grid"></param> /// <returns></returns> public ParamerInfo GetParamerInfo(FilterCondition condition) { ParamerInfo paramerInfo = new ParamerInfo(); paramerInfo.ParamerName = this.GetParamerName(condition); paramerInfo.ParamerValue = this.GetParamerValue(condition); //通过fileld.Type转换成Type typeObj Type typeObj = ValueToTypeHash[condition.ValueType]; //转换成NHibernate用的IType paramerInfo.ParamerType = NHibernate.Type.TypeFactory.GetSerializableType(typeObj); return(paramerInfo); }
/// <summary> /// 当condition.FilterType != FilterType.List时,根据condition获得参数集合 /// </summary> /// <param name="condition"></param> /// <returns></returns> public List <ParamerInfo> GetParamerInfoList(FilterCondition condition) { List <ParamerInfo> paramerList = new List <ParamerInfo>(); for (int i = 0; i < condition.List.Count; i++) { ParamerInfo paramerInfo = new ParamerInfo(); paramerInfo.ParamerValue = condition.List[i]; paramerInfo.ParamerName = string.Format(this.ListSingleParamerNameFormat, this.GetParamerName(condition), i); paramerInfo.ParamerType = NHibernate.Type.TypeFactory.GetSerializableType(typeof(string)); paramerList.Add(paramerInfo); } return(paramerList); }
/// <summary> /// 从conditionList中提取参数集合 /// </summary> /// <param name="conditionList"></param> /// <returns></returns> public List <ParamerInfo> GetParamerInfoList(IEnumerable <FilterCondition> conditionList) { List <ParamerInfo> paramerList = new List <ParamerInfo>(); foreach (FilterCondition condition in conditionList) { if (condition.Type != FilterType.List) { ParamerInfo paramerInfo = this.GetParamerInfo(condition); paramerList.Add(paramerInfo); } else { List <ParamerInfo> subParamerList = this.GetParamerInfoList(condition); paramerList.AddRange(subParamerList); } } return(paramerList); }