mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 18:34:55 +08:00
ok
This commit is contained in:
@@ -177,31 +177,18 @@ namespace SqlSugar
|
|||||||
return DateTime.TryParse(thisValue.ToString(), out outValue);
|
return DateTime.TryParse(thisValue.ToString(), out outValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是邮箱?
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsEamil(this object thisValue)
|
public static bool IsEamil(this object thisValue)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
return Regex.IsMatch(thisValue.ToString(), @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
|
return Regex.IsMatch(thisValue.ToString(), @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是手机?
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsMobile(this object thisValue)
|
public static bool IsMobile(this object thisValue)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
return Regex.IsMatch(thisValue.ToString(), @"^\d{11}$");
|
return Regex.IsMatch(thisValue.ToString(), @"^\d{11}$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是座机?
|
|
||||||
/// </summary>
|
|
||||||
public static bool IsTelephone(this object thisValue)
|
public static bool IsTelephone(this object thisValue)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
@@ -209,77 +196,47 @@ namespace SqlSugar
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是身份证?
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsIDcard(this object thisValue)
|
public static bool IsIDcard(this object thisValue)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
return System.Text.RegularExpressions.Regex.IsMatch(thisValue.ToString(), @"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
|
return System.Text.RegularExpressions.Regex.IsMatch(thisValue.ToString(), @"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是传真?
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsFax(this object thisValue)
|
public static bool IsFax(this object thisValue)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
return System.Text.RegularExpressions.Regex.IsMatch(thisValue.ToString(), @"^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$");
|
return System.Text.RegularExpressions.Regex.IsMatch(thisValue.ToString(), @"^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是适合正则匹配?
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <param name="pattern"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsMatch(this object thisValue, string pattern)
|
public static bool IsMatch(this object thisValue, string pattern)
|
||||||
{
|
{
|
||||||
if (thisValue == null) return false;
|
if (thisValue == null) return false;
|
||||||
Regex reg = new Regex(pattern);
|
Regex reg = new Regex(pattern);
|
||||||
return reg.IsMatch(thisValue.ToString());
|
return reg.IsMatch(thisValue.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是否是动态类型
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="type"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsAnonymousType(this Type type)
|
public static bool IsAnonymousType(this Type type)
|
||||||
{
|
{
|
||||||
string typeName = type.Name;
|
string typeName = type.Name;
|
||||||
return typeName.Contains("<>") && typeName.Contains("__") && typeName.Contains("AnonymousType");
|
return typeName.Contains("<>") && typeName.Contains("__") && typeName.Contains("AnonymousType");
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// 是List类型
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsCollectionsList(this string thisValue)
|
public static bool IsCollectionsList(this string thisValue)
|
||||||
{
|
{
|
||||||
return (thisValue + "").StartsWith("System.Collections.Generic.List");
|
return (thisValue + "").StartsWith("System.Collections.Generic.List");
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// 是string[]类型
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsStringArray(this string thisValue)
|
public static bool IsStringArray(this string thisValue)
|
||||||
{
|
{
|
||||||
return (thisValue + "").IsMatch(@"System\.[a-z,A-Z,0-9]+?\[\]");
|
return (thisValue + "").IsMatch(@"System\.[a-z,A-Z,0-9]+?\[\]");
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// 是Enumerable
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisValue"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool IsEnumerable(this string thisValue)
|
public static bool IsEnumerable(this string thisValue)
|
||||||
{
|
{
|
||||||
return (thisValue + "").StartsWith("System.Linq.Enumerable");
|
return (thisValue + "").StartsWith("System.Linq.Enumerable");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Type StringType = typeof (string);
|
||||||
|
|
||||||
|
public static bool IsClass(this Type thisValue)
|
||||||
|
{
|
||||||
|
return thisValue != StringType && thisValue.IsClass;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,13 @@ namespace SqlSugar
|
|||||||
public MappingColumnList MappingColumns { get; set; }
|
public MappingColumnList MappingColumns { get; set; }
|
||||||
public MappingTableList MappingTables { get; set; }
|
public MappingTableList MappingTables { get; set; }
|
||||||
public List<JoinQueryInfo> JoinQueryInfos { get; set; }
|
public List<JoinQueryInfo> JoinQueryInfos { get; set; }
|
||||||
|
|
||||||
|
public bool IsJoin {
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return JoinQueryInfos.IsValuable();
|
||||||
|
}
|
||||||
|
}
|
||||||
public ResolveExpressType ResolveType { get; set; }
|
public ResolveExpressType ResolveType { get; set; }
|
||||||
public Expression Expression { get; set; }
|
public Expression Expression { get; set; }
|
||||||
public ExpressionResult Result
|
public ExpressionResult Result
|
||||||
@@ -73,9 +80,13 @@ namespace SqlSugar
|
|||||||
BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this });
|
BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this });
|
||||||
resolve.Start();
|
resolve.Start();
|
||||||
}
|
}
|
||||||
public virtual string GetAsString(string fieldName, string fieldValue)
|
public virtual string GetAsString(string asName, string fieldValue)
|
||||||
{
|
{
|
||||||
return string.Format(" {0} {1} {2} ", fieldValue, "AS", fieldName);
|
return string.Format(" [{0}] {1} [{2}] ", fieldValue, "AS", asName);
|
||||||
|
}
|
||||||
|
public virtual string GetAsString(string asName, string fieldValue,string fieldShortName)
|
||||||
|
{
|
||||||
|
return string.Format(" [{0}].[{1}] {2} [{3}] ", fieldShortName, fieldValue, "AS", asName);
|
||||||
}
|
}
|
||||||
public virtual void Clear()
|
public virtual void Clear()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -85,10 +85,34 @@ namespace SqlSugar
|
|||||||
base.Context.Result.CurrentParameter = null;
|
base.Context.Result.CurrentParameter = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(item.GetType().IsClass&& item.GetType()!=ExpressionConst.StringType)
|
else if (item.Type.IsClass())
|
||||||
|
{
|
||||||
|
StringBuilder sb=new StringBuilder();
|
||||||
|
string prefix = Context.IsJoin ? memberName : "";
|
||||||
|
var listProperties = item.Type.GetProperties().Cast<PropertyInfo>().ToList();
|
||||||
|
base.Context.Result.Append(sb.ToString());
|
||||||
|
foreach (var property in listProperties)
|
||||||
|
{
|
||||||
|
if (property.PropertyType.IsClass())
|
||||||
{
|
{
|
||||||
|
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var columnName = property.Name;
|
||||||
|
if (Context.IsJoin)
|
||||||
|
{
|
||||||
|
// Context.GetAsString(prefix,item,)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Context.GetAsString(columnName, columnName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
Check.ThrowNotSupportedException(item.GetType().Name);
|
Check.ThrowNotSupportedException(item.GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user