|
|
using CustomerPortalV2.Common.Model; using Microsoft.Data.SqlClient; using System.Data;
namespace CustomerPortalV2.Repository.ConnHelper { public class ConnectionHelper : IConnectionHelper { private SqlConnection _connection; public ConnectionHelper() { Init(); }
public void Init() { _connection = new SqlConnection(GetConnectionString()); }
public void OpenConnection() { if (_connection.State == ConnectionState.Open) _connection.Close();
_connection.Open(); }
public void CloseConnection() { if (_connection.State == ConnectionState.Open) this._connection.Close(); }
public string GetConnectionString() { return Common.Helper.Utilities.ReadAppSettings("ConnectionStrings:Dev"); }
public String FilterString(string strVal) { var str = FilterQuote(strVal);
if (str.ToLower() != "null") str = "'" + str + "'";
return str; }
public string GetSingleResult(string sql) { try { var ds = ExecuteDataset(sql); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) return "";
return ds.Tables[0].Rows[0][0].ToString(); } catch (Exception ex) { throw ex; }
finally { CloseConnection(); } }
public String FilterQuote(string strVal) { if (string.IsNullOrEmpty(strVal)) { strVal = ""; } var str = strVal.Trim();
if (!string.IsNullOrEmpty(str)) { str = str.Replace(";", ""); //str = str.Replace(",", "");
str = str.Replace("--", ""); str = str.Replace("'", "");
str = str.Replace("/*", ""); str = str.Replace("*/", "");
str = str.Replace(" select ", ""); str = str.Replace(" insert ", ""); str = str.Replace(" update ", ""); str = str.Replace(" delete ", "");
str = str.Replace(" drop ", ""); str = str.Replace(" truncate ", ""); str = str.Replace(" create ", "");
str = str.Replace(" begin ", ""); str = str.Replace(" end ", ""); str = str.Replace(" char(", "");
str = str.Replace(" exec ", ""); str = str.Replace(" xp_cmd ", "");
str = str.Replace("<script", "");
} else { str = "null"; } return str; }
public DataTable ExecuteDataTable(string sql) { using (var ds = ExecuteDataset(sql)) { if (ds == null || ds.Tables.Count == 0) return null;
return ds.Tables[0]; } }
public DataSet ExecuteDataset(string sql) { var ds = new DataSet(); SqlDataAdapter da; try { OpenConnection(); da = new SqlDataAdapter(sql, _connection);
da.Fill(ds); da.Dispose(); CloseConnection(); } catch (Exception ex) { throw ex; } finally { da = null; CloseConnection(); } return ds; }
public DataRow ExecuteDataRow(string sql) { using (var ds = ExecuteDataset(sql)) { if (ds == null || ds.Tables.Count == 0) return null;
if (ds.Tables[0].Rows.Count == 0) return null;
return ds.Tables[0].Rows[0]; } }
public CommonResponse ParseDbResult(string sql) { DataTable dt = ExecuteDataTable(sql); return ParseDbResult(dt); }
public CommonResponse ParseDbResult(DataTable dt) { CommonResponse response = new CommonResponse(101, "Error parsing data!"); if (dt == null || dt.Rows.Count == 0) return response;
response = new CommonResponse(Convert.ToInt16(dt.Rows[0][0]), Convert.ToString(dt.Rows[0][1])); if (dt.Columns.Count > 2) response.Id = Convert.ToString(dt.Rows[0][2]); if (dt.Columns.Count > 3) response.Extra = Convert.ToString(dt.Rows[0][3]);
return response; } } }
|