public FEE_SETTING_UPFRONT_ONPAY NewUpFrontOnPay() { FEE_SETTING_UPFRONT_ONPAY NewData = new FEE_SETTING_UPFRONT_ONPAY(); NewData.FES_ID = this.FES_ID; NewData.DataStatus = EnumDataStatus.NewData; NewData.SettingOwner = this; this.SettingUpFrontOnPays.Add(NewData); return(NewData); }
public decimal CalculateFeeUpFrontReward() { if (this.OnDateAgentFee.SettingOwner.AgentOwner.IsTBank) { // get setting var setting = this.OnDateAgentFee.SettingOwner; if (setting != null) { // get rate onpay FEE_SETTING_UPFRONT_ONPAY settingOnpay = ((FEE_SETTING_TBANK)setting).GetUpFrontOnPaySettingByCondition(this.FEE_DATE); if (settingOnpay != null) { this.RATE_UPFRONT_ONPAY_USED = settingOnpay.RateMktCalculated; } else { this.RATE_UPFRONT_ONPAY_USED = 0m; } // get rate twealth var settingTWealth = ((FEE_SETTING_TBANK)setting).GetUpFrontTWealth(); if (settingTWealth.Any()) { this.RATE_UPFRONT_TWEALTH_USED = settingTWealth.First().RateMktCalculated; // จิงๆเป็น 1 ต่อ หนึ่ง แต่ออกแบบมาเผื่อไว้ก่อน } else { this.RATE_UPFRONT_TWEALTH_USED = 0m; } // calculate reward for each upfront foreach (var itemUpFront in this.UpFrontDetails) { itemUpFront.ReLevelFromSetting(); itemUpFront.CalculateFeeOnpay(); itemUpFront.CalculateFeeReward(); } this.TOTAL_FEE_UPFRONT_REWARD = this.UpFrontDetails.Sum(m => m.TOTAL_FEE_REWARD); } } return(this.TOTAL_FEE_UPFRONT_REWARD ?? 0); }