internal static Instalment Create(PhysicalOrder owner, InstalmentConstructParams constructParams) { if (constructParams == null || (constructParams.InstalmentPolicyId ?? Guid.Empty) == Guid.Empty) { return(null); } return(new Instalment(owner, constructParams)); }
private Instalment(PhysicalOrder owner, InstalmentConstructParams constructParams) : base(owner) { _owner = owner; _accountId = _owner.Owner.Owner.Id; _details = new BusinessRecordList <InstalmentDetail>("InstalmentDetails", owner, 5); this.Parse(constructParams); }
private void Parse(InstalmentConstructParams constructParams) { _period = this.CreateReadonlyItem("Period", constructParams.Period); _frequence = this.CreateReadonlyItem("Frequence", constructParams.Frequence); _instalmentPolicyId = this.CreateReadonlyItem(OrderBusinessItemNames.InstalmentPolicyId, constructParams.InstalmentPolicyId.Value); _downPayment = this.CreateReadonlyItem(OrderBusinessItemNames.DownPayment, constructParams.DownPayment); _instalmentType = this.CreateReadonlyItem(OrderBusinessItemNames.PhysicalInstalmentType, constructParams.InstalmentType); _recalculateRateType = this.CreateReadonlyItem(OrderBusinessItemNames.RecalculateRateType, constructParams.RecalculateRateType); _downPaymentBasis = this.CreateReadonlyItem(OrderBusinessItemNames.DownPaymentBasis, this.InstalmentPolicyDetail(null).DownPaymentBasis); _isInstalmentOverdue = this.CreateReadonlyItem(OrderBusinessItemNames.IsInstalmentOverdue, constructParams.IsInstalmentOverdue); _instalmentOverdueDay = this.CreateReadonlyItem("InstalmentOverdueDay", constructParams.InstalmentOverdueDay); }