module Logistics module Core class ContractFreightTonRatesController < ApplicationController 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 # POST /service_rates # POST /service_rates.json 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 # PATCH/PUT /service_rates/1 # PATCH/PUT /service_rates/1.json 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 private # Never trust parameters from the scary internet, only allow the white list through. def container_freight_ton_service_rate_params params.require(:service_rate).permit(:transaction_type_id, :rate, :client_contract_id, :in_contract) end end end end