public Com_Count FirstOrDefaultByTargetIdAndCategoryId(Guid targetId, string categoryId) { var list = this.FindByProperties(Where.Create().Eq("TargetId", targetId).Eq("CategoryId", categoryId)); if (IValidatorTool.IsEmpty(list)) { return(null); } return(list[0]); }
public static T RequestParam <T>(string parameterName, T defaultValue = default(T)) { IValidatorTool validator = ToolFactory.CreateIValidatorTool(); var srcRequestValue = Request[parameterName]; if (validator.IsEmpty(srcRequestValue)) { return(default(T)); } T value = ToolFactory.CreateIProgramTool().ChanageType <T>(srcRequestValue); if (value == null && defaultValue != null) { return(defaultValue); } return(value); }
/// <summary> /// 从匹配的目标路由集合中查找匹配的目标路由 /// </summary> /// <param name="formRouteData">源路由数据</param> /// <returns>配置的目标路由数据</returns> public AbstractMethodRouteData FindRouteData(MethodFormRouteData formRouteData) { var baseRouteData = base.FindRouteData(formRouteData); if (IValidatorTool.IsEmpty(baseRouteData)) { throw new Exception(string.Format("没有查找到{0},相关的映射方法", formRouteData.Form)); } if (baseRouteData.Count == 1) { return((AbstractMethodRouteData)baseRouteData[0]); } var methodFormRouteData = (MethodFormRouteData)formRouteData; List <AbstractMethodRouteData> methodRouteDatas = new List <AbstractMethodRouteData>(baseRouteData.Count); foreach (var item in baseRouteData) { methodRouteDatas.Add((AbstractMethodRouteData)item); } IList <AbstractMethodRouteData> routeDatas = this.FindMaxMatchRouteDatas(methodFormRouteData, methodRouteDatas); if (IValidatorTool.IsEmpty(routeDatas)) { throw new Exception(string.Format("没有查找到{0},相关的映射方法", methodFormRouteData.Form)); } if (routeDatas.Count > 1) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0},查找到多个映射方法", methodFormRouteData.Form); foreach (var item in routeDatas) { var reflectorRouteData = (AbstractMethodRouteData)item; sb.AppendLine(reflectorRouteData.ServiceType.FullName + "." + reflectorRouteData.MethodInfo.Name); } throw new Exception(sb.ToString()); } return(routeDatas[0]); }