public void ExecuteReader(DBSettingEntity dbSetting, Func <IDataReader, bool> funcProccessDataReader) { try { using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); using (IDataReader dr = cmd.ExecuteReader()) { funcProccessDataReader.Invoke(dr); } if (idbTransaction != null) { idbTransaction.Commit(); } } } } catch (SqlException ex) { throw this.TranslateException(ex); } }
public static bool ReturnDBInputStatus(object obj, string SPName) { DBSettingEntity dbSetting = new DBSettingEntity(DataProvider.SqlServer, DBSetting.GetDBConnection(DBSource.MainDBConstr), CommandType.StoredProcedure, DBSetting.GetSPValue(SPName), false); List <SPParameterEntity> sp = SPParameterObject.GetParameter(SPName); PropertyInfo[] ps = obj.GetType().GetProperties(); bool statusVal = false; foreach (PropertyInfo p in ps) { string parametername = string.Empty; if (sp.Exists(delegate(SPParameterEntity s) { parametername = s.name; return(s.name.ToLower() == "@" + p.Name.ToLower()); })) { dbSetting.AddParameters(parametername, p.GetValue(obj, null) == null ? DBNull.Value : p.GetValue(obj, null), ParameterDirection.Input); } } Func <IDataReader, bool> func = delegate(IDataReader dr) { while (dr.Read()) { if (dr["StatusValue"].ToString() == "1") { statusVal = true; } else { statusVal = false; } } return(true); }; DBManager2.Instance.ExecuteReader(dbSetting, func); return(statusVal); }
public static void InputToDB(object obj, string SPName) { DBSettingEntity dbSetting = new DBSettingEntity(DataProvider.SqlServer, DBSetting.GetDBConnection(DBSource.MainDBConstr), CommandType.StoredProcedure, DBSetting.GetSPValue(SPName), false); List <SPParameterEntity> sp = SPParameterObject.GetParameter(SPName); PropertyInfo[] ps = obj.GetType().GetProperties(); foreach (PropertyInfo p in ps) { string parametername = string.Empty; if (sp.Exists(delegate(SPParameterEntity s) { parametername = s.name; return(s.name.ToLower() == "@" + p.Name.ToLower()); })) { dbSetting.AddParameters(parametername, p.GetValue(obj, null) == null ? DBNull.Value : p.GetValue(obj, null), ParameterDirection.Input); } } DBManager2.Instance.ExecuteNonQuery(dbSetting); }
public static List <SPParameterEntity> GetParameter(string SPName) { List <SPParameterEntity> list = new List <SPParameterEntity>(); DBSettingEntity dbSetting = new DBSettingEntity(DataProvider.SqlServer, DBSetting.GetDBConnection(DBSource.MainDBConstr), CommandType.StoredProcedure, DBSetting.GetSPValue("GetSPParameters"), false); dbSetting.AddParameters("@SPName", DBSetting.GetSPValue(SPName), ParameterDirection.Input); Func <IDataReader, bool> func = delegate(IDataReader dr) { List <string> drlist = new List <string>(); while (dr.Read()) { list.Add((SPParameterEntity)DBHelper.DataReaderMapping(dr, new SPParameterEntity())); } return(true); }; DBManager2.Instance.ExecuteReader(dbSetting, func); return(list); }
public object ExecuteScalar(DBSettingEntity dbSetting) { try { object result; using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); result = cmd.ExecuteScalar(); if (idbTransaction != null) { idbTransaction.Commit(); } } } return(result); } catch (SqlException ex) { throw this.TranslateException(ex); } }
public void ExecuteDataSet(DBSettingEntity dbSetting, Func <DataSet, bool> funcProccessDataSet) { try { using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); IDbDataAdapter dataAdapter = DBManagerFactory.GetDataAdapter(dbSetting.ProviderType); dataAdapter.SelectCommand = cmd; DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); funcProccessDataSet.Invoke(dataSet); if (idbTransaction != null) { idbTransaction.Commit(); } } } } catch (SqlException ex) { throw this.TranslateException(ex); } }