class CsRequestController < ApplicationController
  require 'json'

  def create
    logger.info "*** #{params.inspect}"
    demande = params[:cs_demand]
    retVal = "OK"
    case demande
      when "aka_demand"
        begin
          error = ApiCs.find(:all, :from => :aka_demand, :params => { :video => params[:var_id],
                                                                      :login => params[:user_login] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "bnf_form"
        begin
          error = ApiCs.find(:all, :from => :bnf_mail, :params => { :parameters => params[:parameters],
                                                                    :login => params[:user_login] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "lr_stat"
        begin
          stat = ApiCs.find(:all, :from => :stat_lr, :params => { :operation_id => 1,
                                                                   :login => params[:user_login],
                                                                   :ms_id => params[:var_id].to_i })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "img_demand"
        begin
          error = ApiCs.find(:all, :from => :user_demand, :params => { :ms_id => params[:var_id],
                                                                       :login => params[:user_login],
                                                                       :operation => params[:parameters]['type_op'] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "user_request"
        begin
          error = ApiCs.find(:all, :from => :cs_request, :params => { :text => params[:parameters][:user_text],
                                                                      :login => params[:user_login],
                                                                      :serial => params[:parameters][:serial],
                                                                      :stringkey => params[:parameters][:string_key] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "prov_search_stat"
        begin
          ret_stat = ApiCs.find(:all, :from => :pfs_create, :params => { :cs_name => params[:cs_name],
                                                                        :search_stat_id => params[:var_id],
                                                                        :string_key => params[:user_login],
                                                                        :result => params[:parameters][:result] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "image_field"
        begin
          ret_stat = ApiCs.find(:all, :from => :sif_create, :params => { :cs_name => params[:cs_name],
                                                                        :search_stat_id => params[:var_id],
                                                                        :field_name => params[:user_login],
                                                                        :field_content => params[:parameters][:result] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
      when "search_stat"
        begin
          ret_stat = ApiCs.find(:all, :from => :sst_create, :params => { :cs_name => params[:cs_name], :login => params[:user_login],
                                                                        :parameters => params[:parameters] })
        rescue => e
          logger.info"**** rescue #{e.inspect}"
          retVal = e
        end
    end
    if retVal != "OK"
      logger.info "*** #{retVal}"
      remJob = CommunicationInJob.new
      remJob.job_source = params[:cs_name]
      remJob.params = params
      remJob.typop = demande
      remJob.done = 0
      remJob.result = retVal
      remJob.save
    end
    message = {}
    message["result"] = retVal
    json_message = message.to_json
    respond_to do |format|
      format.json { render json: json_message }
    end

  end


end

