private List <decimal> DistributePayment() { decimal totalClaim = Document.CuryRUTROTDistributedAmt ?? 1.0m; var shares = Distribution.Select(d => (d.CuryAmount ?? 0.0m) / totalClaim); decimal pct = 0.01m * Document.RUTROTDeductionPct.Value; decimal rrToPay = (1.0m - pct) * (Document.CuryRUTROTTotalAmt ?? 0.0m) / pct; decimal relevantPay = Math.Min(TotalPay, rrToPay); return(Distributor.DistributeInShares(relevantPay, shares).ToList()); }