コード例 #1
0
ファイル: PurchasedMovie.cs プロジェクト: MrFishchev/Training
        public PurchasedMovie(Movie movie, Customer customer, Dollars price)
        {
            if (price == null || price.IsZero)
            {
                throw new ArgumentException(nameof(price));
            }

            Movie    = movie;
            Customer = customer;
            Price    = price;
        }
コード例 #2
0
ファイル: Customer.cs プロジェクト: MrFishchev/Training
        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;
        }
コード例 #3
0
ファイル: Customer.cs プロジェクト: MrFishchev/Training
 public Customer(CustomerName name)
 {
     Name       = name;
     MoneySpent = Dollars.Of(0);
     Status     = CustomerStatus.Regular;
 }
コード例 #4
0
ファイル: Movie.cs プロジェクト: MrFishchev/Training
 private Dollars GetBasePrice()
 {
     return(Dollars.Of(10));
 }