public static BoolResult <IList <TEntity> > RefSPToList <TEntity>(this DataBase db, string spName, params IDataParameter[] parameters) where TEntity : class, new() { ValidationResults validationResults = new ValidationResults(); IList <TEntity> list = new List <TEntity>(); IDataReader dataReader = null; try { dataReader = db.ExecuteSPReader(db.ConnectionString, spName, parameters); DynamicBuilder <TEntity> dynamicBuilder = DynamicBuilder <TEntity> .CreateBuilder(dataReader); while (dataReader.Read()) { TEntity item = dynamicBuilder.Build(dataReader); list.Add(item); } } catch (Exception ex) { validationResults.Add(ex.Message); } finally { if (dataReader != null) { dataReader.Close(); } } return(new BoolResult <IList <TEntity> >(list, validationResults.IsValid, string.Empty, validationResults)); }
public static BoolResult <TEntity> RefToSingle <TEntity>(this DataBase db, string strSql, params IDataParameter[] parameters) where TEntity : class, new() { ValidationResults validationResults = new ValidationResults(); TEntity item = default(TEntity); IDataReader dataReader = null; try { dataReader = db.ExecuteReader(db.ConnectionString, CommandType.Text, strSql, parameters); DynamicBuilder <TEntity> dynamicBuilder = DynamicBuilder <TEntity> .CreateBuilder(dataReader); if (dataReader.Read()) { item = dynamicBuilder.Build(dataReader); } } catch (Exception ex) { validationResults.Add(ex.Message); } finally { if (dataReader != null) { dataReader.Close(); } } return(new BoolResult <TEntity>(item, validationResults.IsValid, string.Empty, validationResults)); }