Example #1
0
        public PurchasedMovie(Movie movie, Customer customer, Dollars price)
        {
            if (price == null || price.IsZero)
            {
                throw new ArgumentException(nameof(price));
            }

            Movie    = movie;
            Customer = customer;
            Price    = price;
        }
Example #2
0
        public void PurchaseMovie(Movie movie)
        {
            if (HasPurchasedMovie(movie))
            {
                throw new Exception();
            }

            var price = movie.CalculatePrice(Status, DateTime.UtcNow);

            var purchasedMovie = new PurchasedMovie(movie, this, price);

            _purchasedMovies.Add(purchasedMovie);

            MoneySpent += price;
        }
Example #3
0
 public Customer(CustomerName name)
 {
     Name       = name;
     MoneySpent = Dollars.Of(0);
     Status     = CustomerStatus.Regular;
 }
Example #4
0
 private Dollars GetBasePrice()
 {
     return(Dollars.Of(10));
 }