/// <summary> /// Get Inventory Line with parameters /// </summary> /// <param name="inventory">inventory</param> /// <param name="M_Locator_ID">locator</param> /// <param name="M_Product_ID">product</param> /// <param name="M_AttributeSetInstance_ID">asi</param> /// <returns>line or null</returns> public static MInventoryLine Get(MInventory inventory, int M_Locator_ID, int M_Product_ID, int M_AttributeSetInstance_ID) { MInventoryLine retValue = null; String sql = "SELECT * FROM M_InventoryLine " + "WHERE M_Inventory_ID=@invenid AND M_Locator_ID=@locid" + " AND M_Product_ID=@prodid AND M_AttributeSetInstance_ID=@asiid"; try { SqlParameter[] param = new SqlParameter[4]; param[0] = new SqlParameter("@invenid", inventory.GetM_Inventory_ID()); param[1] = new SqlParameter("@locid", M_Locator_ID); param[2] = new SqlParameter("@prodid", M_Product_ID); param[3] = new SqlParameter("@asiid", M_AttributeSetInstance_ID); DataSet ds = DataBase.DB.ExecuteDataset(sql, param); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { retValue = new MInventoryLine(inventory.GetCtx(), dr, inventory.Get_TrxName()); } } } catch (Exception e) { _log.Log(Level.SEVERE, sql, e); } return(retValue); }
/// <summary> /// Detail Constructor. /// Locator/Product/AttributeSetInstance must be unique /// </summary> /// <param name="inventory">parent</param> /// <param name="M_Locator_ID">locator</param> /// <param name="M_Product_ID">product</param> /// <param name="M_AttributeSetInstance_ID">instance</param> /// <param name="qtyBook">book value</param> /// <param name="qtyCount">count value</param> public MInventoryLine(MInventory inventory, int M_Locator_ID, int M_Product_ID, int M_AttributeSetInstance_ID, Decimal qtyBook, Decimal qtyCount) : this(inventory.GetCtx(), 0, inventory.Get_TrxName()) { if (inventory.Get_ID() == 0) { throw new ArgumentException("Header not saved"); } _parent = inventory; SetM_Inventory_ID(inventory.GetM_Inventory_ID()); // Parent SetClientOrg(inventory.GetAD_Client_ID(), inventory.GetAD_Org_ID()); SetM_Locator_ID(M_Locator_ID); // FK SetM_Product_ID(M_Product_ID); // FK SetM_AttributeSetInstance_ID(M_AttributeSetInstance_ID); // // if (qtyBook != null) SetQtyBook(qtyBook); if (qtyCount != null && Env.Signum(qtyCount) != 0) { SetQtyCount(qtyCount); } _isManualEntry = false; }