/// <summary> /// Is Used to Get or Create Instance of Master ForecastLine /// </summary> /// <param name="ForeCast">MasterForecast</param> /// <param name="M_Product_ID">Product</param> /// <returns>Object</returns> public static MMasterForecastLine GetOrCreate(X_C_MasterForecast ForeCast, int M_Product_ID, int M_AttributeSetInstance_ID) { MMasterForecastLine retValue = null; String sql = "SELECT * FROM C_MasterForecastLine " + " WHERE NVL(M_Product_ID,0) = " + M_Product_ID + " AND NVL(C_MasterForecast_ID,0) =" + ForeCast.GetC_MasterForecast_ID(); if (Env.IsModuleInstalled("VA073_")) { sql += " AND NVL(M_AttributeSetInstance_ID,0)=" + M_AttributeSetInstance_ID; } DataTable dt = null; IDataReader idr = null; try { idr = DB.ExecuteReader(sql, null, ForeCast.Get_Trx()); dt = new DataTable(); dt.Load(idr); idr.Close(); foreach (DataRow dr in dt.Rows) { retValue = new MMasterForecastLine(ForeCast.GetCtx(), dr, ForeCast.Get_Trx()); } } catch (Exception ex) { if (idr != null) { idr.Close(); } log.Log(Level.SEVERE, sql, ex); } finally { if (idr != null) { idr.Close(); } dt = null; } if (retValue == null) { retValue = new MMasterForecastLine(ForeCast, M_Product_ID, M_AttributeSetInstance_ID); } return(retValue); }
/// <summary> /// Create new Master Forecast Line /// </summary> /// <param name="Parent">Master Forecast</param> /// <param name="M_Product_ID">Product</param> public MMasterForecastLine(X_C_MasterForecast Parent, int M_Product_ID, int M_AttributeSetInstance_ID) : base(Parent.GetCtx(), 0, Parent.Get_Trx()) { string sql = "SELECT C_UOM_ID FROM M_Product WHERE M_Product_ID = " + M_Product_ID; SetC_UOM_ID(Util.GetValueOfInt(DB.ExecuteScalar(sql, null, null))); SetAD_Client_ID(Parent.GetAD_Client_ID()); SetAD_Org_ID(Parent.GetAD_Org_ID()); SetM_Product_ID(M_Product_ID); if (!Env.IsModuleInstalled("VA073_")) { SetProcessed(true); } else { Set_Value("M_AttributeSetInstance_ID", M_AttributeSetInstance_ID); } }