Insert update delete using OracleProvider in c#



public class OracleProvider: IDisposable { #region Designer Variables private OracleDataAdapter OrcDataAdapter; #endregion[Designer Variable] #region Constructor public OracleProvider() { OracleConnector oDBConnection = new OracleConnector(); OrcDataAdapter = new OracleDataAdapter(); OrcDataAdapter.SelectCommand = new OracleCommand(); OrcDataAdapter.SelectCommand.Connection = new OracleConnection(OracleConnector.strDataBaseConnectionString); OrcDataAdapter.SelectCommand.Connection.Open(); } #endregion[Constructor] #region Disposing public void Dispose() { Dispose(true); GC.SuppressFinalize(true); // as a service to those who might inherit from us } protected virtual void Dispose(bool disposing) { if (!disposing) return; if (OrcDataAdapter != null) { if (OrcDataAdapter.SelectCommand != null) { if (OrcDataAdapter.SelectCommand.Connection != null) { OrcDataAdapter.SelectCommand.Connection.Dispose(); } OrcDataAdapter.SelectCommand.Dispose(); } OrcDataAdapter.Dispose(); OrcDataAdapter = null; } } #endregion[Disposing] #region Initialization private void Initialize() { OrcDataAdapter.SelectCommand.Parameters.Clear(); } #endregion[Initialization] #region Execute Select Function #region === ===============================(Return Datatable Using Store - Procedure) === ==================================== protected DataSet ExecuteStoredProcedureDataTableObjectParameter(string strProcedureName, object[] parameters, out string Error_Message) { Error_Message = string.Empty; DataSet dtResult = new DataSet(); try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strProcedureName; dbCommand.CommandType = System.Data.CommandType.StoredProcedure; if (parameters != null) { for (int i = 0; i < parameters.Length; i++) { dbCommand.Parameters.Add(parameters[i] as OracleParameter); } } OrcDataAdapter.Fill(dtResult); return dtResult; } catch(OracleException exception) { Error_Message = exception.Message; return dtResult = null; } } #endregion #region === ===============================(Return Datatable Using Text - Command) === ======================================= protected DataTable ExecuteTextCommandDataTable(string strSql) { DataTable dtResult = new DataTable(); try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strSql; dbCommand.CommandType = CommandType.Text; OrcDataAdapter.Fill(dtResult); return dtResult; } catch(OracleException exception) { //System.Web.HttpContext.Current.Session["Error_Message"] = exception.Message; return dtResult = null; } } #endregion #region === =============(Return OracleDataReader[ return - single - row - from - database] Using Store - Procedure) === ============== protected OracleDataReader ExecuteStoreProcedureDataReaderObjectParameter(string strSql, object[] parameters) { OracleDataReader reDataReader = null; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strSql; dbCommand.CommandType = CommandType.StoredProcedure; if (parameters != null) { for (int i = 0; i < parameters.Length; i++) { dbCommand.Parameters.Add(parameters[i] as OracleParameter); } } reDataReader = dbCommand.ExecuteReader(CommandBehavior.CloseConnection); } catch(OracleException exception) { //System.Web.HttpContext.Current.Session["Error_Message"] = exception.Message; } return reDataReader; } #endregion #region === ==============(Return OracleDataReader[ return - single - row - from - database] Using Text - Command) === ================ protected OracleDataReader ExecuteTextCommandDataReader(string strSql) { OracleDataReader reDataReader = null; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strSql; dbCommand.CommandType = CommandType.Text; reDataReader = dbCommand.ExecuteReader(CommandBehavior.CloseConnection); } catch(OracleException exception) { //System.Web.HttpContext.Current.Session["Error_Message"] = exception.Message; } return reDataReader; } #endregion #region === ===================(Return Object Type Single Value From Database Using Text - Command) === ====================== //Use the ExecuteScalar method to retrieve a single value from a database. protected object ExecuteTextCommandSelectScalar(string strSql) { object objResult = null; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strSql; dbCommand.CommandType = CommandType.Text; objResult = dbCommand.ExecuteScalar(); return objResult; } catch(OracleException exception) { //System.Web.HttpContext.Current.Session["Error_Message"] = exception.Message; return objResult; } } #endregion #endregion #region Execute - Non - Query #region === =======================(Execute Non Query Object - Parameter Using Store - Procedure) === ========================== protected bool ExecuteNonQueryStoredProcedureObjectParameter(string strProcedureName, object[] parameters, out string Error_Message) { bool oResult = false; Error_Message = string.Empty; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strProcedureName; dbCommand.CommandType = CommandType.StoredProcedure; if (parameters != null) { for (int i = 0; i < parameters.Length; i++) { dbCommand.Parameters.Add(parameters[i] as OracleParameter); } } dbCommand.ExecuteNonQuery(); #region Get Error Message string _strErrorCode = dbCommand.Parameters["perrorcode"].Value.ToString(); if (_strErrorCode != "") { Int64 _intErrorCode = Convert.ToInt64(_strErrorCode); if (_intErrorCode != 0) { Error_Message = dbCommand.Parameters["perrormsg"].Value.ToString(); } if (_intErrorCode == 0) { Error_Message = string.Empty; oResult = true; } } #endregion return oResult; } catch(OracleException SExp) { GenericParameter oCommon = new GenericParameter(); Error_Message = oCommon.Generate_Data_BaseError_Message(SExp.Message.ToString()); return oResult; } } #endregion #region === =======================(Execute Non Query Array - Parameter Using Store - Procedure) === =========================== protected int ExecuteNonQueryStoredProcedureArrayParameter(string strProcedureName, ArrayList arlParams) { int intResult = 0; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = strProcedureName; dbCommand.CommandType = CommandType.StoredProcedure; if (arlParams != null) { for (int i = 0; i < arlParams.Count; i++) { dbCommand.Parameters.Add(arlParams[i]); } } intResult = dbCommand.ExecuteNonQuery(); return intResult; } catch(OracleException exception) { //System.Web.HttpContext.Current.Session["Error_Message"] = exception.Message; return intResult; } } #endregion #region === ================================(Execute Non Query Using Text - Command) === ===================================== protected int ExecuteNonQueryText(string sqlQuery) { int intResult = 0; try { if (OrcDataAdapter == null) { throw new System.ObjectDisposedException(GetType().FullName); } Initialize(); OracleCommand dbCommand = OrcDataAdapter.SelectCommand; dbCommand.CommandText = sqlQuery; dbCommand.CommandType = CommandType.Text; intResult = dbCommand.ExecuteNonQuery(); } catch(OracleException OrException) { //CLSCommon oCommon = new CLSCommon(); //string _strErrorMessage = oCommon.Generate_Data_BaseError_Message(OrException.Message.ToString()); // System.Web.HttpContext.Current.Session["Error_Message"] = _strErrorMessage; } return intResult; } #endregion #endregion } public class GenericParameter { public object CreateParameter(string name, object dataType, object parameterValue, int size, ParameterDirection direction) { OracleParameter parameter = new OracleParameter(name, (OracleDbType) dataType); parameter.Value = parameterValue; parameter.Direction = direction; if (size >= 0) { parameter.Size = size; } return parameter; } public string Generate_Data_BaseError_Message(string _strErrorMessage) { _strErrorMessage = _strErrorMessage.Replace("\r", ""); _strErrorMessage = _strErrorMessage.Replace("\n", ""); _strErrorMessage = _strErrorMessage.Replace("/", ""); _strErrorMessage = _strErrorMessage.Replace("'", ""); return _strErrorMessage; } } public class OracleConnector { #region Designer Variables public static string strDataBaseConnectionString; #endregion[Designer Variables] #region Constructor public OracleConnector() { if (strDataBaseConnectionString == null) { strDataBaseConnectionString = GetConnectionString("OracleConnectionString"); } } #endregion[Constructor] #region Properties private string _strDBConnectionString = strDataBaseConnectionString; public string DBConnectionString { get { return _strDBConnectionString; } set { _strDBConnectionString = strDataBaseConnectionString; } } #endregion[Properties] #region Method private string GetConnectionString(string value) { string conns = ""; try { ConnectionStringSettingsCollection cs = ConfigurationManager.ConnectionStrings; foreach(ConnectionStringSettings c in cs) { if (c.Name.ToLower() == value.ToLower()) { conns = c.ConnectionString; } } if (conns == "") { NameValueCollection apps = ConfigurationManager.AppSettings; for (int i = 0; i < apps.Count; i++) { if (apps.GetKey(i).ToString().ToLower() == value.ToLower()) { conns = apps[i]; } } } if (conns != "") { return conns; } else { return conns = "Invalid Connection String."; } } catch(Exception exp) { return conns = exp.Message.ToString(); } } #endregion[Method] } public class UnitRepository: OracleProvider, IUnitRepository { public bool Insert(UnitModel objSample, out string Error_Message) { GenericParameter oCommon = new GenericParameter(); OracleParameter[] parameters = new OracleParameter[5]; parameters[0] = oCommon.CreateParameter("punit_name", OracleDbType.NVarchar2, objSample.UnitName, 100, ParameterDirection.Input) as OracleParameter; parameters[1] = oCommon.CreateParameter("penable_status", OracleDbType.Double, objSample.EnableStatus, 1, ParameterDirection.Input) as OracleParameter; parameters[2] = oCommon.CreateParameter("pcreate_by", OracleDbType.NVarchar2, objSample.CreateBy, 50, ParameterDirection.Input) as OracleParameter; parameters[3] = oCommon.CreateParameter("perrorcode", OracleDbType.Int32, DBNull.Value, 2, ParameterDirection.Output) as OracleParameter; parameters[4] = oCommon.CreateParameter("perrormsg", OracleDbType.NVarchar2, DBNull.Value, 1000, ParameterDirection.Output) as OracleParameter; string storeProcedure = "pkg_sebl_gbd_psims.fsp_sebl_gb_unit_insert"; bool SqlResult = this.ExecuteNonQueryStoredProcedureObjectParameter(storeProcedure, parameters, out Error_Message); return SqlResult; } public bool UnitExists(string UnitName) { string sqlQuery = string.Format(@"select t.unit_name from Sebl_Psims_Unit_Info t where t.unit_name='{0}'", UnitName); object oResult = this.ExecuteTextCommandSelectScalar(sqlQuery); if (oResult != null) return true; else return false; } public List < UnitModel > GetDetails() { string Error_Message = string.Empty; List < UnitModel > objList = new List < UnitModel > (); DataSet ds = new DataSet(); GenericParameter oCommon = new GenericParameter(); OracleParameter[] parameters = new OracleParameter[3]; parameters[0] = oCommon.CreateParameter("perrorcode", OracleDbType.Int32, DBNull.Value, 2, ParameterDirection.Output) as OracleParameter; parameters[1] = oCommon.CreateParameter("perrormsg", OracleDbType.NVarchar2, DBNull.Value, 1000, ParameterDirection.Output) as OracleParameter; parameters[2] = oCommon.CreateParameter("presult", OracleDbType.RefCursor, DBNull.Value, 2, ParameterDirection.Output) as OracleParameter; string storeProcedure = "pkg_sebl_gbd_psims.fsp_sebl_gb_unit_get_all"; ds = this.ExecuteStoredProcedureDataTableObjectParameter(storeProcedure, parameters, out Error_Message); DataTable dt = new DataTable(); dt = ds.Tables[0]; foreach(DataRow row in dt.Rows) { UnitModel objModel = new UnitModel(); objModel.UnitID = int.Parse(row["UnitID"].ToString()); objModel.UnitName = row["UnitName"].ToString(); objModel.CreateBy = row["CreateBy"].ToString(); objModel.CreateDate = DateTime.Parse(row["CreateDate"].ToString()); objList.Add(objModel); } return objList; } //Alternative Way To Convert DataTable To List (Do Not Delete) //List<DataRow> list1 = dt.AsEnumerable().ToList(); //List<DataRow> list = new List<DataRow>(dt.Select()); //IEnumerable<DataRow> sequence = dt.AsEnumerable(); //PropertyName Must be Same with Return Type //List<UnitModel> unitDetails = new List<UnitModel>(); //unitDetails = GenericMethod.DataTableToList<UnitModel>(dt); public UnitModel GetUnitByID(string UnitID) { UnitModel objModel = new UnitModel(); string sqlQuery = string.Format(@"select t.unit_name,t.unit_id,t.create_by,t.enable_status from Sebl_Psims_Unit_Info t where t.unit_Id='{0}'", UnitID); DataTable dt = this.ExecuteTextCommandDataTable(sqlQuery); if (dt.Rows.Count > 0) { objModel.UnitID = int.Parse(dt.Rows[0]["unit_id"].ToString()); objModel.UnitName = dt.Rows[0]["unit_name"].ToString(); objModel.CreateBy = dt.Rows[0]["create_by"].ToString(); objModel.EnableStatus = int.Parse(dt.Rows[0]["enable_status"].ToString()); } return objModel; } public bool Update(UnitModel objSample, out string Error_Message) { GenericParameter oCommon = new GenericParameter(); OracleParameter[] parameters = new OracleParameter[5]; parameters[0] = oCommon.CreateParameter("punit_id", OracleDbType.Int32, objSample.UnitID, 4, ParameterDirection.Input) as OracleParameter; parameters[1] = oCommon.CreateParameter("punit_name", OracleDbType.NVarchar2, objSample.UnitName, 100, ParameterDirection.Input) as OracleParameter; parameters[2] = oCommon.CreateParameter("pcreate_by", OracleDbType.NVarchar2, objSample.CreateBy, 50, ParameterDirection.Input) as OracleParameter; parameters[3] = oCommon.CreateParameter("perrorcode", OracleDbType.Int32, DBNull.Value, 2, ParameterDirection.Output) as OracleParameter; parameters[4] = oCommon.CreateParameter("perrormsg", OracleDbType.NVarchar2, DBNull.Value, 1000, ParameterDirection.Output) as OracleParameter; string storeProcedure = "pkg_sebl_gbd_psims.fsp_sebl_gb_unit_update"; bool SqlResult = this.ExecuteNonQueryStoredProcedureObjectParameter(storeProcedure, parameters, out Error_Message); return SqlResult; } public bool Delete(string Id) { string sqlQuery = string.Format(@"Update Sebl_Psims_Unit_Info Set enable_status=0 where unit_id='{0}'", Id); int oResult = this.ExecuteNonQueryText(sqlQuery); if (oResult == 1) return true; else return false; } }

Comments

Popular posts from this blog

Easy Ui Jquery easyui-textbox change onChange event

Provision AWS EC2 Instance and RDS with Terraform, and Deploy Spring Boot App to EC2 Instance via GitHub Action Pipeline

npm install gets stuck at fetchMetadata