From 248b80763389ef8bfba19c0b027c873c1f17deed Mon Sep 17 00:00:00 2001 From: Phyo Date: Wed, 23 Aug 2017 13:59:27 +0630 Subject: [PATCH 1/2] Dining Charges Fix for free time --- app/models/dining_charge.rb | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/models/dining_charge.rb b/app/models/dining_charge.rb index 75cf7d7b..b7be007d 100644 --- a/app/models/dining_charge.rb +++ b/app/models/dining_charge.rb @@ -3,19 +3,22 @@ class DiningCharge < ApplicationRecord belongs_to :room def self.amount_calculate(dining_charges_obj, checkin , checkout) - + # note :: the first Charge Block will cost all, the Time rounding block will included in 2nd Charge Block if !checkin.nil? && !checkout.nil? && !dining_charges_obj.nil? price = 0 minutes = DiningCharge.time_diff(checkout, checkin) - free_time = DiningCharge.convert_to_minutes(dining_charges_obj.minimum_free_time.strftime('%H:%M')) + free_time = DiningCharge.convert_to_minutes(dining_charges_obj.minimum_free_time.utc.localtime.strftime('%H:%M')) dining_minutes = minutes - free_time # stayminutes - free minutes - charge_type = dining_charges_obj.charge_type - if charge_type == 'hr' - price = DiningCharge.charges(dining_charges_obj, dining_minutes, 'hr') - elsif charge_type == 'day' - price = charges(dining_charges_obj, dining_minutes, 'day') + if dining_minutes <= 0 + price = 0 + else + charge_type = dining_charges_obj.charge_type + if charge_type == 'hr' + price = DiningCharge.charges(dining_charges_obj, dining_minutes, 'hr') + elsif charge_type == 'day' + price = charges(dining_charges_obj, dining_minutes, 'day') + end end - return price else puts "<<<<<<<< NO" @@ -25,14 +28,15 @@ class DiningCharge < ApplicationRecord def self.charges(chargesObj, dining_minutes, type) solid_price = 0 - block = DiningCharge.convert_to_minutes(chargesObj.charge_block.strftime('%H:%M')) + block = DiningCharge.convert_to_minutes(chargesObj.charge_block.utc.localtime.strftime('%H:%M')) + result = dining_minutes / block if result.to_i < 1 return chargesObj.unit_price elsif result.to_i >= 1 solid_price = result * chargesObj.unit_price remain_value = dining_minutes % block - rounding_block = DiningCharge.convert_to_minutes(chargesObj.time_rounding_block.strftime('%H:%M')) + rounding_block = DiningCharge.convert_to_minutes(chargesObj.time_rounding_block.utc.localtime.strftime('%H:%M')) roundingblock = remain_value / rounding_block if roundingblock.to_i < 1 return DiningCharge.check_rounding(chargesObj, solid_price) @@ -48,7 +52,7 @@ class DiningCharge < ApplicationRecord end end - def self.check_rounding(chargesObj) + def self.check_rounding(chargesObj,solid_price) if chargesObj.time_rounding == "down" return solid_price else From 874a9b60bec90d40b500b3ed927092435ceec744 Mon Sep 17 00:00:00 2001 From: Zin Lin Phyo Date: Wed, 23 Aug 2017 15:02:27 +0630 Subject: [PATCH 2/2] create InJuty --- .idea/.generators | 2 +- .idea/workspace.xml | 828 ++++++------------ .../origami/commissions_controller.rb | 91 -- .../origami/in_juties_controller.rb | 74 ++ app/helpers/origami/in_juties_helper.rb | 2 + app/models/in_juty.rb | 2 + app/views/origami/in_juties/_form.html.erb | 10 + .../origami/in_juties/_in_juty.json.jbuilder | 2 + app/views/origami/in_juties/edit.html.erb | 6 + app/views/origami/in_juties/index.html.erb | 25 + .../origami/in_juties/index.json.jbuilder | 1 + app/views/origami/in_juties/new.html.erb | 5 + app/views/origami/in_juties/show.html.erb | 4 + .../origami/in_juties/show.json.jbuilder | 1 + config/routes.rb | 1 + db/migrate/20170823081747_create_in_juties.rb | 11 + .../origami/in_juties_controller_spec.rb | 141 +++ spec/helpers/origami/in_juties_helper_spec.rb | 15 + spec/models/in_juty_spec.rb | 5 + .../origami/origami_in_juties_spec.rb | 10 + .../routing/origami/in_juties_routing_spec.rb | 39 + .../origami/in_juties/edit.html.erb_spec.rb | 14 + .../origami/in_juties/index.html.erb_spec.rb | 14 + .../origami/in_juties/new.html.erb_spec.rb | 14 + .../origami/in_juties/show.html.erb_spec.rb | 11 + 25 files changed, 692 insertions(+), 636 deletions(-) delete mode 100644 app/controllers/origami/commissions_controller.rb create mode 100644 app/controllers/origami/in_juties_controller.rb create mode 100644 app/helpers/origami/in_juties_helper.rb create mode 100644 app/models/in_juty.rb create mode 100644 app/views/origami/in_juties/_form.html.erb create mode 100644 app/views/origami/in_juties/_in_juty.json.jbuilder create mode 100644 app/views/origami/in_juties/edit.html.erb create mode 100644 app/views/origami/in_juties/index.html.erb create mode 100644 app/views/origami/in_juties/index.json.jbuilder create mode 100644 app/views/origami/in_juties/new.html.erb create mode 100644 app/views/origami/in_juties/show.html.erb create mode 100644 app/views/origami/in_juties/show.json.jbuilder create mode 100644 db/migrate/20170823081747_create_in_juties.rb create mode 100644 spec/controllers/origami/in_juties_controller_spec.rb create mode 100644 spec/helpers/origami/in_juties_helper_spec.rb create mode 100644 spec/models/in_juty_spec.rb create mode 100644 spec/requests/origami/origami_in_juties_spec.rb create mode 100644 spec/routing/origami/in_juties_routing_spec.rb create mode 100644 spec/views/origami/in_juties/edit.html.erb_spec.rb create mode 100644 spec/views/origami/in_juties/index.html.erb_spec.rb create mode 100644 spec/views/origami/in_juties/new.html.erb_spec.rb create mode 100644 spec/views/origami/in_juties/show.html.erb_spec.rb diff --git a/.idea/.generators b/.idea/.generators index 98526fe7..16189766 100644 --- a/.idea/.generators +++ b/.idea/.generators @@ -5,4 +5,4 @@ You are allowed to: 2. Remove generators 3. Add installed generators To add new installed generators automatically delete this file and reload the project. ---> +--> diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 70f67cc7..0ba2fcb2 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,13 +2,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + - - - - - + @@ -25,11 +43,51 @@ - - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + @@ -38,28 +96,18 @@ - - + + - - + + - - - - - - - - - - - - + + @@ -123,13 +171,11 @@ @@ -170,368 +221,49 @@ - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +