138 lines
4.5 KiB
C#
138 lines
4.5 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace GetHttpData.SDK
|
||
{
|
||
public class DataCheckHelper
|
||
{
|
||
#region 方法 -> 枚举参数过滤处理
|
||
/// <summary>
|
||
/// 枚举参数过滤处理,解决麻烦的SQL拼接
|
||
/// (对照数据表给定添加、更新的参数枚举类型ValueType)
|
||
/// Mr.Cai 2018-03-12
|
||
/// </summary>
|
||
/// <param name="_Type"></param>
|
||
/// <param name="_String"></param>
|
||
/// <returns></returns>
|
||
public static string IsArrayType(ValueType _Type, string _String = null)
|
||
{
|
||
if (_String != null && _String.Length > 0)
|
||
{
|
||
switch (_Type)
|
||
{
|
||
case ValueType.String:
|
||
case ValueType.DateTime_SqlSvr:
|
||
return string.Format("'{0}'", _String);
|
||
case ValueType.Int:
|
||
case ValueType.Double:
|
||
case ValueType.Boolean:
|
||
return _String;
|
||
case ValueType.DateTime:
|
||
return string.Format("TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS')", _String);
|
||
}
|
||
}
|
||
return "null";
|
||
}
|
||
|
||
/// <summary>
|
||
/// 枚举参数过滤处理,解决麻烦的SQL拼接
|
||
/// (对照数据表给定添加、更新的参数枚举类型ValueType)
|
||
/// Mr.Cai 2018-03-12
|
||
/// </summary>
|
||
/// <param name="_Type"></param>
|
||
/// <param name="_Default">是否使用缺省值</param>
|
||
/// <returns></returns>
|
||
private static string IsArrayType(ValueType _Type, bool _DefaultValue = false)
|
||
{
|
||
if (_DefaultValue)
|
||
{
|
||
switch (_Type)
|
||
{
|
||
case ValueType.String:
|
||
return "''";
|
||
case ValueType.Int:
|
||
case ValueType.Double:
|
||
case ValueType.Boolean:
|
||
return "0";
|
||
case ValueType.DateTime:
|
||
return string.Format("TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS')", DateTime.Now.ToString());
|
||
case ValueType.DateTime_SqlSvr:
|
||
return string.Format("'{0}'", DateTime.Now.ToString());
|
||
}
|
||
}
|
||
return "null";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 枚举参数比较处理
|
||
public static bool IsCheckValue(CheckType _Type, object _Front, object _After)
|
||
{
|
||
|
||
if ((_Front == null && _After == null) || (_Front != null && _After != null &&
|
||
string.IsNullOrEmpty(_Front.ToString())) && string.IsNullOrEmpty(_After.ToString()))
|
||
{
|
||
return true;
|
||
}
|
||
|
||
if (_Front != null && _After != null)
|
||
{
|
||
switch (_Type)
|
||
{
|
||
case CheckType.String:
|
||
if (_Front.ToString() == _After.ToString())
|
||
{
|
||
return true;
|
||
}
|
||
break;
|
||
case CheckType.DateTime:
|
||
try
|
||
{
|
||
if (DateTime.Parse(_Front.ToString()) == DateTime.Parse(_After.ToString()))
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
catch { }
|
||
break;
|
||
case CheckType.Decimal:
|
||
try
|
||
{
|
||
if (Decimal.Parse(_Front.ToString()) == Decimal.Parse(_After.ToString()))
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
catch { }
|
||
break;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 定义 5个类型的枚举
|
||
public enum ValueType
|
||
{
|
||
String = 0,
|
||
Int = 1,
|
||
Double = 2,
|
||
Boolean = 3,
|
||
DateTime = 4,
|
||
DateTime_SqlSvr = 5
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 定义 参数比较类型的枚举
|
||
public enum CheckType
|
||
{
|
||
String = 0,
|
||
Decimal = 1,
|
||
DateTime = 2
|
||
}
|
||
#endregion
|
||
}
|
||
}
|