using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Transmission.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"; } public static string IsDataType(ValueType valueType,string dataString = null) { if (dataString != null && dataString.Length > 0) { switch (valueType) { case ValueType.String: case ValueType.DateTime: case ValueType.DateTime_SqlSvr: return string.Format("'{0}'", dataString); case ValueType.Int: case ValueType.Double: case ValueType.Boolean: return dataString; } } 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 } }