using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace IronIntel.Contractor { public class Helper { public static readonly DateTime DBMinDateTime = new DateTime(1900, 01, 01); public static bool IsTrue(string s) { const string YES = "Yes"; const string TRUE = "True"; const string ONE = "1"; return (string.Compare(s, YES, true) == 0) || (string.Compare(s, TRUE, true) == 0) || (string.Compare(s, ONE) == 0); } public static bool Contains(string text, string val) { if (!string.IsNullOrWhiteSpace(text)) { return text.IndexOf(val, StringComparison.OrdinalIgnoreCase) >= 0; } else { return false; } } public static void CloneProperty(object objDes, object objSrc) { if (objDes == null || objSrc == null) return; PropertyInfo[] pisDes = objDes.GetType().GetProperties(); Type tSrc = objSrc.GetType(); foreach (PropertyInfo piDes in pisDes) { if (!piDes.CanWrite) continue; PropertyInfo piSrc = tSrc.GetProperty(piDes.Name, piDes.PropertyType); if (piSrc == null || !piSrc.CanRead) continue; try { piDes.SetValue(objDes, piSrc.GetValue(objSrc, null), null); } catch (Exception e) { e.ToString(); } } } public static object DateValueToNull(DateTime date) { if (date <= DBMinDateTime) return null; else return date; } public static object DateValueToNullOrBigHour(DateTime date) { if (date <= DBMinDateTime) return null; else return date.AddDays(1).AddSeconds(-1); } public static object NumberValueToNull(int value) { if (value < 0) return null; else return value; } public static object NumberValueToNull(double value) { if (value < 0) return null; else return value; } } }