Browse Source

Merge pull request #738 from colinin/fixed-type-error

fixed type errors
pull/741/head
yx lin 3 years ago
committed by GitHub
parent
commit
5d7fa35bae
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apps/vue/src/components/Table/src/types/advancedSearch.ts
  2. 45
      aspnet-core/modules/dynamic-queryable/LINGYUN.Abp.Dynamic.Queryable.Application/LINGYUN/Abp/Dynamic/Queryable/DynamicQueryableAppService.cs

2
apps/vue/src/components/Table/src/types/advancedSearch.ts

@ -71,7 +71,7 @@ export enum DynamicComparison {
/** 空 */ /** 空 */
Null = 12, Null = 12,
/** 非空 */ /** 非空 */
NotNull = 12, NotNull = 13,
} }
/** 动态查询字段 */ /** 动态查询字段 */

45
aspnet-core/modules/dynamic-queryable/LINGYUN.Abp.Dynamic.Queryable.Application/LINGYUN/Abp/Dynamic/Queryable/DynamicQueryableAppService.cs

@ -86,20 +86,21 @@ public abstract class DynamicQueryableAppService<TEntity, TEntityDto> : Applicat
isNullableType = true; isNullableType = true;
propertyType = propertyType.GetGenericArguments().FirstOrDefault(); propertyType = propertyType.GetGenericArguments().FirstOrDefault();
} }
var typeCode = Type.GetTypeCode(propertyType); var typeFullName = propertyType.FullName.ToLower();
switch (typeCode)
switch (typeFullName)
{ {
case TypeCode.Int16: case "System.Int16":
case TypeCode.Int32: case "System.Int32":
case TypeCode.Int64: case "System.Int64":
case TypeCode.UInt16: case "System.UInt16":
case TypeCode.UInt32: case "System.UInt32":
case TypeCode.UInt64: case "System.UInt64":
case TypeCode.Single: case "System.Single":
case TypeCode.Byte: case "System.Double":
case TypeCode.Double: case "System.Byte":
case TypeCode.SByte: case "System.SByte":
case TypeCode.Decimal: case "System.Decimal":
// 数值类型只支持如下操作符 // 数值类型只支持如下操作符
// 小于、小于等于、大于、大于等于、等于、不等于、空、非空 // 小于、小于等于、大于、大于等于、等于、不等于、空、非空
availableComparator.AddRange(new[] availableComparator.AddRange(new[]
@ -113,15 +114,16 @@ public abstract class DynamicQueryableAppService<TEntity, TEntityDto> : Applicat
}); });
if (isNullableType) if (isNullableType)
{ {
availableComparator.AddRange(new [] availableComparator.AddRange(new[]
{ {
DynamicComparison.Null, DynamicComparison.Null,
DynamicComparison.NotNull DynamicComparison.NotNull
}); });
} }
return ("number", availableComparator.ToArray()); return ("number", availableComparator.ToArray());
case TypeCode.Boolean: case "System.Boolean":
// 布尔类型只支持如下操作符 case "System.Guid":
// 布尔、Guid类型只支持如下操作符
// 等于、不等于、空、非空 // 等于、不等于、空、非空
availableComparator.AddRange(new[] availableComparator.AddRange(new[]
{ {
@ -137,11 +139,11 @@ public abstract class DynamicQueryableAppService<TEntity, TEntityDto> : Applicat
}); });
} }
return ("boolean", availableComparator.ToArray()); return ("boolean", availableComparator.ToArray());
case TypeCode.Char: case "System.Char":
case TypeCode.String: case "System.String":
// 字符类型支持所有操作符 // 字符类型支持所有操作符
return ("string", availableComparator.ToArray()); return ("string", availableComparator.ToArray());
case TypeCode.DateTime: case "System.DateTime":
// 时间类型只支持如下操作符 // 时间类型只支持如下操作符
// 小于、小于等于、大于、大于等于、等于、不等于、空、非空 // 小于、小于等于、大于、大于等于、等于、不等于、空、非空
availableComparator.AddRange(new[] availableComparator.AddRange(new[]
@ -163,9 +165,8 @@ public abstract class DynamicQueryableAppService<TEntity, TEntityDto> : Applicat
} }
return ("Date", availableComparator.ToArray()); return ("Date", availableComparator.ToArray());
default: default:
case TypeCode.Object: case "System.Object":
case TypeCode.Empty: case "System.DBNull":
case TypeCode.DBNull:
if (isNullableType) if (isNullableType)
{ {
availableComparator.AddRange(new[] availableComparator.AddRange(new[]

Loading…
Cancel
Save