1 class ProviderLicense < ActiveRecord::Base
3 belongs_to :license, :foreign_key => :demanders_license_id
5 validates :provider_id, :presence => true, :numericality => true, :existence => true
6 validates :providers_license_id, :presence => true, :numericality => true
7 validates :demanders_license_id, :presence => true, :numericality => true
9 def self.get_one pid, plid
10 ProviderLicense.find_by_provider_id_and_providers_license_id(pid, plid) || ProviderLicense.new
13 def self.exist_license pid, plid
14 ProviderLicense.find_by_provider_id_and_providers_license_id(pid, plid) != nil
17 def self.import pid, providers_licenses
19 ProviderLicense.transaction do
20 providers_licenses.each do |providers_license|
21 if ProviderLicense.exist_license(pid, providers_license['id'])
23 if demander_license = License.find_by_name(providers_license['name'])
24 pl = ProviderLicense.new :provider_id => pid, :providers_license_id => providers_license['id'], :demanders_license_id => demander_license.id
26 res << providers_license
29 res << providers_license
33 raise ActiveRecord::Rollback if res.any?
35 LicenseImportResult.new res