private int CheckIsNullOrEmpty(LOOKUP_DB db) { int rslt = 0; foreach (PropertyInfo prop in db.GetType().GetProperties()) { var varprop = db.GetType().GetProperty(prop.Name); if (varprop.PropertyType.Name == "String") { rslt = string.IsNullOrEmpty(varprop.GetValue(db, null) as string) ? rslt : ++rslt; } } //rslt = (mtdb.CREATEDATE.HasValue) ? rslt : rslt++; return(rslt); }
private string GetSqlQuery(LOOKUP_DB db) { StringBuilder sql = new StringBuilder(); StringBuilder sbwhere = new StringBuilder(); string space = " "; string select = string.Empty; string where = string.Empty; string orderby = string.Empty; select = "SELECT * FROM LOOKUP_DB"; if (CheckIsNullOrEmpty(db) == 0) { sql.Append(select); sql.Append(space); sql.Append(" ORDER BY CODE"); } else { sbwhere.Append("WHERE"); sbwhere.Append(space); int icond = 0; foreach (PropertyInfo prop in db.GetType().GetProperties()) { var varprop = db.GetType().GetProperty(prop.Name); if (varprop.PropertyType.Name == "String") { string value = varprop.GetValue(db, null) as string; if (!string.IsNullOrEmpty(value)) { where = varprop.Name + " = '@'"; where = where.Replace("@", value); if (icond > 0) { sbwhere.Append(space); sbwhere.Append("AND"); sbwhere.Append(space); } sbwhere.Append(where); icond++; } } } // end foreach where = "ROWNUM <= @"; where = where.Replace("@", 100.ToString()); if (icond > 0) { sbwhere.Append(space); sbwhere.Append("AND"); sbwhere.Append(space); } sbwhere.Append(where); orderby = "ORDER BY CODE"; sql.Append(select); sql.Append(space); sql.Append(sbwhere.ToString()); sql.Append(space); sql.Append(orderby); } // end if return(sql.ToString()); }