Class: Logistics::Core::ContractFreightTonRatesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/logistics/core/contract_freight_ton_rates_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /service_rates POST /service_rates.json



26
27
28
29
30
# File 'app/controllers/logistics/core/contract_freight_ton_rates_controller.rb', line 26

def create
  ContractFreightTonRate.generate_rate_for_freight_ton_service(params[:client_contract_id])
  @response = {:success => true, :message => 'Rate table generated successfully', :data => []}
  render json: @response
end

#indexObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/logistics/core/contract_freight_ton_rates_controller.rb', line 4

def index
  contract_freight_ton_rate_array = []
  @contract_freight_ton_rates = ContractFreightTonRate.where(contract_id: params[:client_contract_id])
  @contract_freight_ton_rates.each { |contract_freight_ton_rate|
    contract_freight_ton_rate_array.push({:id => contract_freight_ton_rate.id,
                                        :chargeable_service_name => contract_freight_ton_rate.chargeable_service_unit_of_charge.chargeable_service.name,
                                        :rate => contract_freight_ton_rate.rate,
                                        :margin => contract_freight_ton_rate.margin,
                                        :transaction_type_id => contract_freight_ton_rate.transaction_type_id,
                                        :transaction_type_name => contract_freight_ton_rate.transaction_type.name,
                                        :service_delivery_unit_id => contract_freight_ton_rate.chargeable_service_unit_of_charge.service_delivery_unit_id,
                                        :service_delivery_unit_name => contract_freight_ton_rate.chargeable_service_unit_of_charge.service_delivery_unit.name,
                                        :in_contract => contract_freight_ton_rate.in_contract,
                                        :contract_id => contract_freight_ton_rate.contract_id
                                       })
  }
  @response = {:success => true, :message => '', :data => contract_freight_ton_rate_array}
  render json: @response
end

#updateObject

PATCH/PUT /service_rates/1 PATCH/PUT /service_rates/1.json



34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/controllers/logistics/core/contract_freight_ton_rates_controller.rb', line 34

def update
  service_rates = params[:updated_service_rates]
  service_rates.each { |service_rate|
    old_service_rate = ContractFreightTonRate.find(service_rate['id'])
    old_service_rate.rate = service_rate['rate']
    old_service_rate.in_contract = service_rate['in_contract']
    old_service_rate.margin = service_rate['margin']
    old_service_rate.save
  }
  @response = {:success => true, :message => 'Rate table updated successfully', :data => service_rates}
  render json: @response
end