public Int32 GetAmountWithFee(Int32 amount, TransferFeeType feeType, Member user) { int FeePercent = GetTransferFeePercent(feeType, user); Money Fee = Money.MultiplyPercent(new Money(amount), FeePercent); if (FeePercent > 0 && Fee.AsPoints() == 0) { Fee = new Money(1); } return(amount - Fee.AsPoints()); }
public static Money GetAmountWithFee(Money amount, TransferFeeType feeType, Member user) { int FeePercent = GetTransferFeePercent(feeType, user); Money Fee = Money.MultiplyPercent(amount, FeePercent); if (FeePercent > 0 && Fee == Money.Zero) { Fee = Money.MinPositiveValue; } return(amount - Fee); }
private static int GetTransferFeePercent(TransferFeeType feeType, Member user) { switch (feeType) { case TransferFeeType.SameUserCommissionToMain: return(user.Membership.SameUserCommissionToMainTransferFee); case TransferFeeType.OtherUserMainToPurchase: return(user.Membership.OtherUserMainToAdTransferFee); case TransferFeeType.OtherUserMainToMain: return(user.Membership.OtherUserMainToMainTransferFee); case TransferFeeType.OtherUserPointsToPoints: return(user.Membership.OtherUserPointsToPointsTransferFee); default: return(0); } }