/// <summary> /// Get MProcess by Value /// </summary> /// <param name="ctx">context</param> /// <param name="value">value</param> /// <returns>MProcess</returns> public static MProcess GetByValue(Ctx ctx, string value) { MProcess retValue = null; String sql = "SELECT * FROM AD_Process p " + "WHERE p.Value LIKE @like"; SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter("@like", value); DataSet ds; try { ds = DataBase.DB.ExecuteDataset(sql, param); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { retValue = new MProcess(ctx, dr, null); // Save in cache int key = retValue.GetAD_Process_ID(); _cache.Add(key, retValue); } } ds = null; } catch (Exception e) { ds = null; s_log.Log(Level.SEVERE, sql, e); } return(retValue); }
/// <summary> /// Parent Constructor /// </summary> /// <param name="parent">parent</param> /// <param name="AD_Role_ID">role id</param> public MProcessAccess(MProcess parent, int AD_Role_ID) : base(parent.GetCtx(), 0, parent.Get_TrxName()) { SetClientOrg(parent); SetAD_Process_ID(parent.GetAD_Process_ID()); SetAD_Role_ID(AD_Role_ID); }
/// <summary> /// Get MProcess from Menu /// </summary> /// <param name="ctx">context</param> /// <param name="AD_Menu_ID">menu id</param> /// <returns>MProcess</returns> public static MProcess GetFromMenu(Ctx ctx, int AD_Menu_ID) { MProcess retValue = null; String sql = "SELECT * FROM AD_Process p " + "WHERE EXISTS (SELECT * FROM AD_Menu m " + "WHERE m.AD_Process_ID=p.AD_Process_ID AND m.AD_Menu_ID=@menuid)"; SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter("@menuid", AD_Menu_ID.ToString()); DataTable dt = null; IDataReader idr = null; try { idr = DataBase.DB.ExecuteReader(sql, param); dt = new DataTable(); dt.Load(idr); idr.Close(); int totCount = dt.Rows.Count; for (int i = 0; i < totCount; i++) { DataRow dr = dt.Rows[i]; retValue = new MProcess(ctx, dr, null); // Save in cache int key = retValue.GetAD_Process_ID(); _cache.Add(key, retValue); } } catch (Exception e) { if (idr != null) { idr.Close(); } s_log.Log(Level.SEVERE, sql, e); } finally { if (idr != null) { idr.Close(); } dt = null; } return(retValue); } // getFromMenu
/// <summary> /// Get MProcess from Cache /// </summary> /// <param name="ctx">context</param> /// <param name="AD_Process_ID">AD_Process_ID</param> /// <returns>MProcess</returns> public static MProcess Get(Ctx ctx, int AD_Process_ID) { int key = AD_Process_ID; MProcess retValue = null; if (_cache.ContainsKey(key)) { retValue = (MProcess)_cache[key]; } if (retValue != null) { return(retValue); } retValue = new MProcess(ctx, AD_Process_ID, null); if (retValue.Get_ID() != 0) { _cache.Add(key, retValue); } return(retValue); }