/// <summary>Ejecuta el query proveido y devuelve la primer tabla del resultado convirtiendo cada registro en el tipo solicitado</summary> public List <T> ExecList <T>(IQryable query) where T : new() { DataTable dttRes = ExecTable(query); List <T> entities = new List <T>(); IEnumerable <PropertyInfo> properties = (typeof(T)).GetProperties(); foreach (DataRow row in dttRes.Rows) { T entity = new T(); foreach (PropertyInfo prop in properties) { if (dttRes.Columns.Contains(prop.Name)) { if (row[prop.Name] is DBNull) { prop.SetValue(entity, null, null); } else { prop.SetValue(entity, row[prop.Name], null); } } } entities.Add(entity); } return(entities); }
/// <summary>Ejecuta el query proveido y devuelve un dataset con los resultados del mismo</summary> public DataSet Exec(IQryable query, bool keepAlive) { if (!openCon) { sqlCon = new SqlConnection(strCon); sqlAda = new SqlDataAdapter(); } DataSet dtsRes = new DataSet(); try { if (!openCon) { sqlCon.Open(); } sqlCmd = sqlCon.CreateCommand(); sqlCmd.CommandText = query.ToString(); sqlCmd.CommandTimeout = 0; sqlAda.SelectCommand = sqlCmd; sqlAda.Fill(dtsRes); openCon = keepAlive; return(dtsRes); } finally { if (!keepAlive) { Dispose(); openCon = false; } } }
/// <summary>Ejecuta el query proveido y devuelve el valor de la primera celda del primer renglon de la primer tabla del resultado</summary> public object ExecScalar(IQryable query) { DataSet dtsRes = default(DataSet); dtsRes = Exec(query); if (dtsRes != null && dtsRes.Tables.Count > 0 && dtsRes.Tables[0].Rows.Count > 0 && dtsRes.Tables[0].Columns.Count > 0) { return(dtsRes.Tables[0].Rows[0][0]); } return(null); }
/// <summary>Ejecuta el query proveido y devuelve el primer renglon de la primer tabla del resultado</summary> public DataRow ExecRow(IQryable query) { DataSet dtsRes = default(DataSet); dtsRes = Exec(query); if (dtsRes != null && dtsRes.Tables.Count > 0 && dtsRes.Tables[0].Rows.Count > 0) { return(dtsRes.Tables[0].Rows[0]); } return(null); }
/// <summary>Ejecuta el query proveido y devuelve un dataset con los resultados del mismo</summary> public DataSet Exec(IQryable query) { return(Exec(query, false)); }
/// <summary>Ejecuta el query proveido y lo convierte al tipo solicitado</summary> public T ExecEntity <T>(IQryable query) where T : new() { return(ExecList <T>(query).FirstOrDefault()); }
/// <summary>Add a boolean condition to the batch</summary> public void IF(Expression condition, IQryable truePart) { IF(condition, truePart, null); }
/// <summary>Add a boolean condition with false part to the batch</summary> public void IF(Expression condition, IQryable truePart, IQryable falsePart) { BooleanCondition bol = new BooleanCondition(condition, truePart, falsePart); lstQuery.Add(bol); }
public BooleanCondition(Expression condition, IQryable truePart, IQryable falsePart) { Condition = condition; TruePart = truePart; FalsePart = falsePart; }