#
# InvalidFlagでcreate/destroyする
#
module Comm::Module::Controller::InvalidFlagCd
  include Comm::Const::MasterCode
  
  #== 登録
  #-----------------------------------------------------------------#++
  def create
    # 無効フラグの設定
    @table_params[:invalid_flag_code] = MCODE_FLAG_OFF
    
    ar = @mcls.new
    result = ar.create_mng(@table_params)
    render :json => Comm::Tool::Json.result_json(result, ar.errmsg)
  end

  #== 削除
  #-----------------------------------------------------------------#++
  def destroy
    ar = find_one
    # 無効→有効
    if ar.invalid_flag_code == MCODE_FLAG_ON
      result = ar.recover
    else
    # 有効→無効
      result = ar.destroy_mng
    end
    
    render :json => Comm::Tool::Json.result_json(result, ar.errmsg)
  end

protected
  def get_find_flag
    return (params[:with_invalid].blank?) ? MFIND_V : MFIND_A
  end

  def find_all(calc_rows_flag = FLAG_OFF)
    ss = get_sql_search
    return ss.search(calc_rows_flag, @mcls, @join_mcls, params, get_find_flag)
  end
  
  def get_sql_search
    return Comm::Tool::SqlSearch.new
  end
end
