private static decimal GetAmount(ExpenseDistribution distribution, decimal total, double multiplier, int payersCount, decimal payerAmount)
        {
            switch (distribution)
            {
            case ExpenseDistribution.Proportional:
                return(total * (decimal)multiplier);

            case ExpenseDistribution.Even:
                return(total / payersCount);

            default:
                return(payerAmount);
            }
        }
 internal static decimal GetAmount(this ExpenseDistribution distribution, RegisterExpense expense, RegisterExpensePayer payer)
 => GetAmount(distribution, expense.Total, payer.Multiplier, expense.Payers.Count(), payer.Amount);