public static long AddLibraryMaterial(ATTLibraryMaterial obj, Previlege pobj) { string InsertSP; OracleParameter[] paramArray; if (obj.Action == "A") { InsertSP = "SP_ADD_LIBRARY_MATERIAL"; paramArray = new OracleParameter[18]; paramArray[17] = Utilities.GetOraParam(":p_ENTRY_BY", obj.EntryBy, OracleDbType.Varchar2, ParameterDirection.Input); } else { InsertSP = "SP_EDIT_LIBRARY_MATERIAL"; paramArray = new OracleParameter[17]; } paramArray[0] = Utilities.GetOraParam(":p_ORG_ID", obj.OrgID, OracleDbType.Int64, ParameterDirection.Input); paramArray[1] = Utilities.GetOraParam(":p_LIBRARY_ID", obj.LibraryID, OracleDbType.Int64, ParameterDirection.Input); paramArray[2] = Utilities.GetOraParam(":p_L_MATERIAL_ID", obj.LMaterialID, OracleDbType.Decimal, ParameterDirection.InputOutput); paramArray[3] = Utilities.GetOraParam(":p_MT_ID", obj.LibraryMaterialType, OracleDbType.Int64, ParameterDirection.Input); paramArray[4] = Utilities.GetOraParam(":p_CATEGORY_ID", obj.LibraryMaterialCategory, OracleDbType.Int64, ParameterDirection.Input); paramArray[5] = Utilities.GetOraParam(":p_CALL_NO", obj.CallNo, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[6] = Utilities.GetOraParam(":p_CORPORATE_BODY", obj.CorporateBody, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[7] = Utilities.GetOraParam(":p_TITLE", obj.Title, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[8] = Utilities.GetOraParam(":p_SERIES_STATE", obj.SeriesStatement, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[9] = Utilities.GetOraParam(":p_NOTE", obj.Note, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[10] = Utilities.GetOraParam(":p_BRD_SUBJECT_HEADING", obj.BoardSubjectHeading, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[11] = Utilities.GetOraParam(":p_GEO_DESC", obj.GeoDescription, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[12] = Utilities.GetOraParam(":p_LANG_ID", obj.LanguageID, OracleDbType.Int64, ParameterDirection.Input); paramArray[13] = Utilities.GetOraParam(":p_PHY_DESC", obj.PhysicalDescription, OracleDbType.Varchar2, ParameterDirection.Input); paramArray[14] = Utilities.GetOraParam(":p_PUBLISHER_ID", obj.PublisherID, OracleDbType.Int64, ParameterDirection.Input); paramArray[15] = Utilities.GetOraParam(":p_CONTENT_FILE", obj.ContentFile, OracleDbType.Blob, ParameterDirection.Input); paramArray[16] = Utilities.GetOraParam(":p_FILE_TYPE", obj.CFileType, OracleDbType.Varchar2, ParameterDirection.Input); GetConnection GetConn = new GetConnection(); OracleConnection DBConn = GetConn.GetDbConn(Module.LIS); string modeName = ""; if (obj.Action == "A") { modeName = "add"; } else if (obj.Action == "M") { modeName = "update"; } if (Previlege.HasPrevilege(pobj, DBConn) == false) { throw new ArgumentException(Utilities.PreviledgeMsg + " " + modeName + " Library Material."); } OracleTransaction Tran = DBConn.BeginTransaction(); try { SqlHelper.ExecuteNonQuery(DBConn, CommandType.StoredProcedure, InsertSP, paramArray); obj.LMaterialID = long.Parse(paramArray[2].Value.ToString()); DLLLibraryMaterialKeyword.AddLibraryMaterialKeyword(obj.LstLMKeyword, obj.LMaterialID, Tran); DLLLibraryMaterialAuthor.AddLibraryMaterialAuthor(obj.LstLMAuthor, obj.LMaterialID, Tran); Tran.Commit(); return(obj.LMaterialID); } catch (Exception ex) { Tran.Rollback(); throw ex; } finally { GetConn.CloseDbConn(); } }