示例#1
0
 public Reservation(Customer customer, Screening screening, Money fee, int audienceCount)
 {
     this.customer      = customer;
     this.screening     = screening;
     this.fee           = fee;
     this.audienceCount = audienceCount;
 }
示例#2
0
        public Money CalculateDiscountAmount(Screening screening)
        {
            foreach (var each in conditions)
            {
                if (each.IsSatisfiedBy(screening))
                {
                    return(getDiscountAmount(screening));
                }
            }

            return(screening.MovieFee);
        }
示例#3
0
 public Money calculateMovieFee(Screening screening)
 {
     return(Fee - discountPolicy.CalculateDiscountAmount(screening));
 }
示例#4
0
 protected override Money getDiscountAmount(Screening screening)
 {
     return(new Money(0));
 }
示例#5
0
 protected override Money getDiscountAmount(Screening screening)
 {
     return(screening.MovieFee * percent);
 }
示例#6
0
 protected override Money getDiscountAmount(Screening screening)
 {
     return(discountAmount);
 }
示例#7
0
 abstract protected Money getDiscountAmount(Screening screening);
示例#8
0
 public bool IsSatisfiedBy(Screening screening)
 {
     return(screening.StartTime.DayOfWeek.Equals(dayOfWeek) &&
            startTime <= screening.StartTime.TimeOfDay &&
            endTime >= screening.StartTime.TimeOfDay);
 }
示例#9
0
 public bool IsSatisfiedBy(Screening screening)
 {
     return(screening.IsSequence(sequence));
 }