Beispiel #1
0
 public Receipt DoRent(ICollection<RentInfo> rentsInfo) {
     Receipt receipt = null;
     foreach (RentInfo rentInfo in rentsInfo) {
         MovieItem item = rentInfo.Item.RentItem;
         if (item == null) continue;
         if (receipt == null) receipt = new Receipt(this, ReceiptType.Rentals);
         new Rent.Rent(receipt, item, rentInfo.Days);
     }
     if (receipt != null) receipt.CalcPayment();
     return receipt;
 }
Beispiel #2
0
 public Rent(Receipt receipt, MovieItem item, int days)
     : base(receipt.Session) {
     if (receipt == null) throw new ArgumentNullException("receipt");
     if (item == null) throw new ArgumentNullException("item");
     if (item.Status != MovieItemStatus.Active) throw new ArgumentException("Item is not active");
     Receipt = receipt;
     Item = item;
     if (receipt.Type == ReceiptType.Purchases) {
         Item.Status = MovieItemStatus.Sold;
         Item.AvailableForSell = false;
         Days = 0;
     } else {
         Item.Status = MovieItemStatus.Rented;
         Days = days != 0 ? days : item.Movie.Category.GetPrice(item.Format).DefaultRentDays;
     }
 }
Beispiel #3
0
 public Receipt Buy(ICollection<RentInfo> rentsInfo) {
     Receipt receipt = null;
     foreach (RentInfo rentInfo in rentsInfo) {
         MovieItem item = rentInfo.Item.SellItem;
         if (item == null) continue;
         if (receipt == null) receipt = new Receipt(Customer, ReceiptType.Purchases);
         new Rent(receipt, item, rentInfo.Days);
     }
     if (receipt != null) receipt.CalcPayment();
     return receipt;
 }