} // DeepClone public override string ToString() { return(string.Format( "{0} of {1} (1 time {2}, spread {3})", FeeType, Amount.ToString("C2", Culture), OneTimePartPercent.ToString("P2", Culture), DistributedPartPercent.ToString("P2", Culture) )); } // ToString
} // constructor private void ValidateParts() { bool isGood = (0 <= OneTimePartPercent) && (OneTimePartPercent <= 1) && (0 <= DistributedPartPercent) && (DistributedPartPercent <= 1) && (OneTimePartPercent + DistributedPartPercent == 1m); if (isGood) { return; } Log.Alert( "Offer fee dropped: cannot spread with one time part of {0} and distributed part of {1}.", OneTimePartPercent.ToString("P2", Culture), DistributedPartPercent.ToString("P2", Culture) ); Amount = 0; } // ValidateParts