/// <summary> /// Gets a SQL WHERE clause from the parameters and comparison type /// </summary> internal static string WhereClauseFromParameters(SqlParameter[] sqlParams, GetRecordOperator comparison) { if (sqlParams.FirstOrDefault(p => string.IsNullOrWhiteSpace(p.SourceColumn)) != null) { throw new DataException("All source columns must be defined"); } foreach (SqlParameter p in sqlParams) { if (p.ParameterName == "") { p.ParameterName = "@" + p.SourceColumn.Replace(" ", "_"); } if (p.ParameterName.Substring(0, 1) != "@") { p.ParameterName = "@" + p.ParameterName; } } string sql = "where "; string clause = (comparison == GetRecordOperator.And) ? " and ": " or "; bool first = true; foreach (SqlParameter p in sqlParams) { if (!first) { sql += clause; } sql += "[" + p.SourceColumn + "] "; if (p.Value == null) { sql += "is null"; } else { sql += "= " + p.ParameterName; } first = false; } return(sql); }
/// <summary> /// Gets a SQL WHERE clause from the parameters and comparison type /// </summary> internal static string WhereClauseFromParameters(SqlParameter[] sqlParams, GetRecordOperator comparison) { if (sqlParams.FirstOrDefault(p => string.IsNullOrWhiteSpace(p.SourceColumn)) != null) throw new DataException("All source columns must be defined"); foreach(SqlParameter p in sqlParams) { if (p.ParameterName == "") p.ParameterName = "@" + p.SourceColumn.Replace(" ", "_"); if (p.ParameterName.Substring(0, 1) != "@") p.ParameterName = "@" + p.ParameterName; } string sql = "where "; string clause = (comparison == GetRecordOperator.And) ? " and ": " or "; bool first = true; foreach(SqlParameter p in sqlParams) { if (!first) sql += clause; sql += "[" + p.SourceColumn + "] "; if(p.Value == null) { sql += "is null"; }else { sql += "= " + p.ParameterName; } first = false; } return sql; }
protected static T GetRecord(SqlParameter[] parameters, GetRecordOperator comparison, bool loadChildren) { string sql = "select * from " + FindDummy(typeof(T)).FullSafeTableName + " " + WhereClauseFromParameters(parameters, comparison); return(GetRecord(sql, parameters, loadChildren)); }
protected static T GetRecord(SqlParameter[] parameters, GetRecordOperator comparison) { return(GetRecord(parameters, comparison, LOADCHILDRENDEFAULT)); }
protected static T GetRecord(List <SqlParameter> parameters, GetRecordOperator comparison, bool loadChildren) { return(GetRecord(parameters.ToArray(), comparison, loadChildren)); }
protected static T GetRecord(List <SqlParameter> parameters, GetRecordOperator comparison) { return(GetRecord(parameters.ToArray(), comparison, LOADCHILDRENDEFAULT)); }