using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GetHttpData.SDK
{
public class DataCheckHelper
{
#region 方法 -> 枚举参数过滤处理
///
/// 枚举参数过滤处理,解决麻烦的SQL拼接
/// (对照数据表给定添加、更新的参数枚举类型ValueType)
/// Mr.Cai 2018-03-12
///
///
///
///
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";
}
///
/// 枚举参数过滤处理,解决麻烦的SQL拼接
/// (对照数据表给定添加、更新的参数枚举类型ValueType)
/// Mr.Cai 2018-03-12
///
///
/// 是否使用缺省值
///
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
}
}