/// <summary> /// New Parent Constructor /// </summary> /// <param name="project">parent</param> public MProjectIssue(MProject project) : this(project.GetCtx(), 0, project.Get_TrxName()) { SetClientOrg(project.GetAD_Client_ID(), project.GetAD_Org_ID()); SetC_Project_ID(project.GetC_Project_ID()); // Parent SetLine(GetNextLine()); _parent = project; // // setM_Locator_ID (0); // setM_Product_ID (0); // SetMovementDate(DateTime.Now); SetMovementQty(Env.ZERO); SetPosted(false); SetProcessed(false); }
/** * Create new Project by copying * @param ctx context * @param C_Project_ID project * @param dateDoc date of the document date * @param trxName transaction * @return Project */ public static MProject CopyFrom(Ctx ctx, int C_Project_ID, DateTime?dateDoc, Trx trxName) { MProject from = new MProject(ctx, C_Project_ID, trxName); if (from.GetC_Project_ID() == 0) { throw new ArgumentException("From Project not found C_Project_ID=" + C_Project_ID); } // MProject to = new MProject(ctx, 0, trxName); PO.CopyValues(from, to, from.GetAD_Client_ID(), from.GetAD_Org_ID()); to.Set_ValueNoCheck("C_Project_ID", I_ZERO); // Set Value with Time String Value = to.GetValue() + " "; String Time = dateDoc.ToString(); int length = Value.Length + Time.Length; if (length <= 40) { Value += Time; } else { Value += Time.Substring(length - 40 - 1); } to.SetValue(Value); to.SetInvoicedAmt(Env.ZERO); to.SetProjectBalanceAmt(Env.ZERO); to.SetProcessed(false); // if (!to.Save()) { throw new Exception("Could not create Project"); } if (to.CopyDetailsFrom(from) == 0) { throw new Exception("Could not create Project Details"); } return(to); }