/// <summary> /// Set BPartner /// </summary> /// <param name="bp">partner</param> /// <param name="isSOTrx">SO</param> public void SetBPartner(MBPartner bp, bool isSOTrx) { SetC_BPartner_ID(bp.GetC_BPartner_ID()); MBPartnerLocation[] locations = bp.GetLocations(false); // Location if (locations.Length == 1) { SetC_BPartner_Location_ID(locations[0].GetC_BPartner_Location_ID()); } else { for (int i = 0; i < locations.Length; i++) { MBPartnerLocation location = locations[i]; if (!location.IsActive()) { continue; } if ((location.IsPayFrom() && isSOTrx) || (location.IsRemitTo() && !isSOTrx)) { SetC_BPartner_Location_ID(location.GetC_BPartner_Location_ID()); break; } } } if (GetC_BPartner_Location_ID() == 0) { String msg = "@C_BPartner_ID@ " + bp.GetName(); if (isSOTrx) { msg += " @No@ @IsPayFrom@"; } else { msg += " @No@ @IsRemitTo@"; } throw new ArgumentException(msg); } // User with location MUser[] users = MUser.GetOfBPartner(GetCtx(), bp.GetC_BPartner_ID()); if (users.Length == 1) { SetAD_User_ID(users[0].GetAD_User_ID()); } else { for (int i = 0; i < users.Length; i++) { MUser user = users[i]; if (user.GetC_BPartner_Location_ID() == GetC_BPartner_Location_ID()) { SetAD_User_ID(users[i].GetAD_User_ID()); break; } } } // int SalesRep_ID = bp.GetSalesRep_ID(); if (SalesRep_ID != 0) { SetSalesRep_ID(SalesRep_ID); } }
/** * Create Trial Asset * @param ctx context * @param user user * @param entityType entity type * @return asset or null if no product found */ public static MAsset GetTrial(Ctx ctx, MUser user, String entityType) { if (user == null) { _log.Warning("Cannot create Trial - No User"); return(null); } if (Utility.Util.IsEmpty(entityType)) { _log.Warning("Cannot create Trial - No Entity Type"); return(null); } MProduct product = MProduct.GetTrial(ctx, entityType); if (product == null) { _log.Warning("No Trial for Entity Type=" + entityType); return(null); } // DateTime now = Convert.ToDateTime(CommonFunctions.CurrentTimeMillis()); // MAsset asset = new MAsset(ctx, 0, null); asset.SetClientOrg(user); asset.SetAssetServiceDate(now); asset.SetIsOwned(false); asset.SetIsTrialPhase(true); // MBPartner partner = new MBPartner(ctx, user.GetC_BPartner_ID(), null); String documentNo = "Trial"; // Value String value = partner.GetValue() + "_" + product.GetValue(); if (value.Length > 40 - documentNo.Length) { value = value.Substring(0, 40 - documentNo.Length) + documentNo; } asset.SetValue(value); // Name MProduct.afterSave String name = "Trial " + partner.GetName() + " - " + product.GetName(); if (name.Length > 60) { name = name.Substring(0, 60); } asset.SetName(name); // Description String description = product.GetDescription(); asset.SetDescription(description); // User asset.SetAD_User_ID(user.GetAD_User_ID()); asset.SetC_BPartner_ID(user.GetC_BPartner_ID()); // Product asset.SetM_Product_ID(product.GetM_Product_ID()); asset.SetA_Asset_Group_ID(product.GetA_Asset_Group_ID()); asset.SetQty(new Decimal(product.GetSupportUnits())); // Guarantee & Version asset.SetGuaranteeDate(TimeUtil.AddDays(now, product.GetTrialPhaseDays())); asset.SetVersionNo(product.GetVersionNo()); // return(asset); }
/// <summary> /// Set BPartner /// </summary> /// <param name="bp">partner</param> /// <param name="isSOTrx">SO</param> public void SetBPartner(MBPartner bp, bool isSOTrx) { SetC_BPartner_ID(bp.GetC_BPartner_ID()); MBPartnerLocation[] locations = GetLocations(); // Location for (int i = 0; i < locations.Length; i++) { MBPartnerLocation location = locations[i]; if (!location.IsActive()) { continue; } if ((location.IsPayFrom() && isSOTrx) || (location.IsRemitTo() && !isSOTrx)) { SetC_BPartner_Location_ID(location.GetC_BPartner_Location_ID()); break; } } //} if (GetC_BPartner_Location_ID() == 0) { String msg = "@C_BPartner_ID@ " + bp.GetName(); if (isSOTrx) { msg += " @No@ @IsPayFrom@"; } else { msg += " @No@ @IsRemitTo@"; } //throw new ArgumentException(msg); log.SaveInfo("", msg); return; } // User with location // Change done by mohit to pick users sorted by date updated. 7 May 2019. MUser[] users = GetOfBPartner(GetCtx(), bp.GetC_BPartner_ID()); if (users.Length == 1) { if (users[0].IsEmail() || users[0].GetNotificationType() == MUser.NOTIFICATIONTYPE_EMail || users[0].GetNotificationType() == MUser.NOTIFICATIONTYPE_EMailPlusNotice || users[0].GetNotificationType() == MUser.NOTIFICATIONTYPE_EMailPlusFaxEMail) { SetAD_User_ID(users[0].GetAD_User_ID()); } } else { for (int i = 0; i < users.Length; i++) { MUser user = users[i]; if (user.GetC_BPartner_Location_ID() == GetC_BPartner_Location_ID() && (user.IsEmail() || user.GetNotificationType() == MUser.NOTIFICATIONTYPE_EMail || user.GetNotificationType() == MUser.NOTIFICATIONTYPE_EMailPlusNotice || user.GetNotificationType() == MUser.NOTIFICATIONTYPE_EMailPlusFaxEMail)) { SetAD_User_ID(users[i].GetAD_User_ID()); break; } } } // int SalesRep_ID = bp.GetSalesRep_ID(); if (SalesRep_ID != 0) { SetSalesRep_ID(SalesRep_ID); } }