예제 #1
0
        static void Main(string[] args)
        {
            Buy(new MoneyAmount(12, "EUR"),
                new MoneyAmount(10, "EUR"));

            Buy(new MoneyAmount(7, "EUR"),
                new MoneyAmount(10, "EUR"));


            IsHappyHour = true;

            Buy(new MoneyAmount(7, "EUR"),
                new MoneyAmount(10, "EUR"));

            var x = new MoneyAmount(2, "EUR");
            var y = new MoneyAmount(4, "EUR");

            if (x.Equals(y))
            {
                Console.WriteLine("Are equal");
            }

            if (x.Scale(2).Equals(y))
            {
                Console.WriteLine("Equal after scaling");
            }

            HashSet <MoneyAmount> set = new HashSet <MoneyAmount> {
                x.Scale(2), y
            };

            Console.WriteLine(set.Count);

            Console.ReadLine();
        }
예제 #2
0
        static MoneyAmount Reserve(MoneyAmount cost)
        {
            decimal factor = 1.0M;

            if (IsHappyHour)
            {
                factor = 0.5M;
            }

            Console.WriteLine($"Reserving and item that costs {cost}");
            return(cost.Scale(factor));
        }