class Origami::VisaController < BaseOrigamiController
  def index
    @sale_id = params[:sale_id]

    # limit visa_amount
    sale_data = Sale.find_by_sale_id(@sale_id)
    total = sale_data.grand_total
    @visacount = 0
    others = 0

    @shop        = Shop::ShopDetail 
    if @shop.is_rounding_adj
         new_total    = Sale.get_rounding_adjustment(sale_data.grand_total)
    else
        new_total    = sale_data.grand_total
    end
    @rounding_adj = new_total-sale_data.grand_total  
    
    sale_data.sale_payments.each do |sale_payment|
        if sale_payment.payment_method == "visa"
          @visacount = @visacount + sale_payment.payment_amount
        else
          others = others + sale_payment.payment_amount
        end
    end
    @can_visa = total - @visacount - others
    @member_discount = MembershipSetting.find_by_discount(1)
    @sub_total       = sale_data.total_amount
    @membership_id   = sale_data.customer.membership_id
  end

  def create
    cash = params[:amount]
    sale_id = params[:sale_id]
    if(Sale.exists?(sale_id))
      saleObj = Sale.find(sale_id)
      shop_details =  Shop::ShopDetail 
      
      # rounding adjustment
      if shop_details.is_rounding_adj
        new_total    = Sale.get_rounding_adjustment(saleObj.grand_total)
        rounding_adj = new_total-saleObj.grand_total
        saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)        
      end
      
      saleObj = Sale.find(sale_id)
      #end rounding adjustment
      sale_payment = SalePayment.new
      @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "visa")
    end
  end

end
