X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=app%2Fmodels%2Fcustomer.rb;h=673cffdfb01b3e4e22ec4c6197a83be2d6885672;hb=01114330b962728805d3c43f2f1a1423f2bd66b3;hp=11411bb37e473e6e3fbd7724d2b67107034e7eec;hpb=4930bd87730032786d9cc7f3d5c1d7cd1f5091bc;p=cs356-p2-videostore.git diff --git a/app/models/customer.rb b/app/models/customer.rb index 11411bb..673cffd 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -1,9 +1,64 @@ class Customer < ActiveRecord::Base - belongs_to :coitem # FIXME: I hunch this is wrong + has_many :coitems + has_many :bitems + has_many :merchandise_purchases + has_many :rentable_purchases validates_presence_of :name, :email, :phone, :address validates_numericality_of :debt + def checked_out_videos + coitems = Coitem.find_all_by_customer_id(id) + video_count = 0 + + for item in coitems + if item.rentable.class == Video + video_count += 1 + end + end + + return video_count + end + + def checked_out_games + coitems = Coitem.find_all_by_customer_id(id) + game_count = 0 + + for item in coitems + if item.rentable.class == Game + game_count += 1 + end + end + + return game_count + end + + def overdue_videos + coitems = Coitem.find_all_by_customer_id(id) + overdue_video_count = 0 + + for item in coitems + if item.rentable.class == Video and item.overdue? + overdue_video_count += 1 + end + end + + return overdue_video_count + end + + def overdue_games + coitems = Coitem.find_all_by_customer_id(id) + overdue_game_count = 0 + + for item in coitems + if item.rentable.class == Game and item.overdue? + overdue_game_count += 1 + end + end + + return overdue_game_count + end + protected def validate