Class: Transmission::UserSet::Reply

Inherits:
Bankserv::Set
  • Object
show all
Defined in:
lib/bankserv/transmission/set/reply.rb

Instance Method Summary collapse

Methods inherited from Bankserv::Set

#base_set, #build_header, #build_trailer, #contained_sets, #decorate_records, from_hash, #get_document, #header, #number_of_records, #parent, partial_class_name, #rec_status, #record_with_sequence_number, #set_type, #to_hash, #trailer, #transactions

Instance Method Details

#processObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/bankserv/transmission/set/reply.rb', line 7

def process
  input_document = Bankserv::InputDocument.for_user_ref(self.set.document.user_ref)
  
  transactions.each do |transaction|
    case transaction.record_type
    when "transmission_status"
      # document = Bankserv::InputDocument.for_transmission_number(transaction.data[:transmission_number])
      # document = Bankserv::InputDocument.for_user_ref(transaction.data[:th_for_use_of_ld_user])
      input_document.reply_status = transaction.data[:transmission_status]
      input_document.save!

      if input_document.accepted?
        Bankserv::Service.for_client_code(input_document.client_code).active.each do |service|
          service.update_transmission_number!
        end
      end
      
    when "transmission_rejected_reason"
      input_document.error = {
        code: transaction.data[:error_code],
        message: transaction.data[:error_message]
      }
      
      input_document.save!
    when "ahv_status"
      # set = document.set_with_generation_number(transaction.data[:user_code_generation_number])
      set = input_document.set_with_dept_code(transaction.data[:user_code_generation_number])
      set.reply_status = transaction.data[:user_set_status]
      set.save!
    when "eft_status"
      set = input_document.set_with_generation_number(transaction.data[:user_code_generation_number])
      set.reply_status = transaction.data[:user_set_status]
      set.save!
    when "accepted_report_reply"
      # what do we do here.. what is an accepted report reply?
    when "rejected_message"
      if transaction.data[:user_sequence_number].to_i > 0
        set = input_document.set_with_generation_number(transaction.data[:user_code_generation_number])
        record = set.record_with_sequence_number(transaction.data[:user_sequence_number])
      
        record.error = {
          code: transaction.data[:error_code],
          message: transaction.data[:error_message]
        }

        record.save!
      end
    end
  end
end