2025-03-28 09:49:56 +08:00

138 lines
4.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}