/**
  * @return Line
  */
 public function getLine()
 {
     $line = new Line();
     $columns = ['record_type' => PresetStringColumnFactory::create('IFH', $label = 'record_type'), 'file_format' => ConfigurableStringColumnFactory::create($config = $this->config, 'file_format', $label = 'file_format'), 'file_type' => ConfigurableStringColumnFactory::create($config = $this->config, 'file_type', $label = 'file_type'), 'hexagon_abc_customer_id' => ConfigurableStringColumnFactory::create($config = $this->config, 'hexagon_abc_customer_id', $label = 'hexagon_abc_customer_id'), 'hsbcnet_id' => ConfigurableStringColumnFactory::create($config = $this->config, 'hsbcnet_id', $label = 'hsbcnet_id'), 'file_reference' => VariableLengthStringColumnFactory::create($this->getFileReference(), 35, $label = 'file_reference'), 'file_creation_date' => VariableLengthStringColumnFactory::create(date('Y/m/d'), 10, $label = 'file_creation_date'), 'file_creation_time' => VariableLengthStringColumnFactory::create(date('H:i:s'), 8, $label = 'file_creation_time'), 'authorization_type' => PresetStringColumnFactory::create('P', $label = 'authorization_type'), 'file_version' => ConfigurableStringColumnFactory::create($config = $this->config, 'file_version', $label = 'file_version'), 'record_count' => VariableLengthStringColumnFactory::create($this->getTotalLines(), 7, $label = 'record_count')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * The Payment Details Table Row Content record
  * @param BeneficiaryAdapterInterface
  * @param String The key to read the config from
  * @return Line a line
  */
 public static function createPaymentDetailsTableRowContentRecordLine(BeneficiaryAdapterInterface $beneficiary, $config_key)
 {
     $line = new Line($config_key);
     $columns = ['record_type' => PresetStringColumnFactory::create('COS-TBL', $label = 'record_type'), 'instruction_indicator' => PresetStringColumnFactory::create('I', $label = 'instruction_indicator'), 'table_name_id' => ConfigurableStringColumnFactory::create($config = $line->config, 'table_name_id', $label = 'table_name_id'), 'table_col_1' => VariableLengthStringColumnFactory::create($beneficiary->getUserId(), $max_length = 90, $label = 'table_col_1'), 'table_col_2' => VariableLengthStringColumnFactory::create($beneficiary->getPaymentId(), $max_length = 90, $label = 'table_col_2'), 'table_col_3' => VariableLengthStringColumnFactory::create($beneficiary->getPaymentDateTimeFormatted(), $max_length = 90, $label = 'table_col_3'), 'table_col_4' => VariableLengthStringColumnFactory::create($beneficiary->getEmail(), $max_length = 90, $label = 'table_col_4'), 'table_col_5' => VariableLengthStringColumnFactory::create("1", $max_length = 90, $label = 'table_col_5'), 'table_col_6' => VariableLengthStringColumnFactory::create($beneficiary->getFullname(), $max_length = 90, $label = 'table_col_6')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @param Beneficiary
  * @return BeneficiaryLines
  */
 public function getLine()
 {
     $line = new Line();
     $columns = ['record_type' => PresetStringColumnFactory::create('BATHDR', $label = 'record_type'), 'instruction_type' => PresetStringColumnFactory::create('COS', $label = 'instruction_type'), 'total_instructions' => VariableLengthStringColumnFactory::create($this->getBeneficiaryCount(), $max_length = 7, $label = 'total_instructions'), 'batch_reference' => EmptyColumnFactory::create($label = 'batch_reference'), 'filter_1' => EmptyColumnFactory::create($label = 'filter_1'), 'filter_2' => EmptyColumnFactory::create($label = 'filter_2'), 'filter_3' => EmptyColumnFactory::create($label = 'filter_3'), 'filter_4' => EmptyColumnFactory::create($label = 'filter_4'), 'filter_5' => EmptyColumnFactory::create($label = 'filter_5'), 'constant_eye_catcher' => PresetStringColumnFactory::create('@1ST@', $label = 'constant_eye_catcher'), 'value_date' => EmptyColumnFactory::create($label = 'value_date'), 'first_party_account' => ConfigurableStringColumnFactory::create($this->config, 'first_party_account', $label = 'first_party_account'), 'transaction_currency' => EmptyColumnFactory::create($label = 'transaction_currency'), 'transaction_amount' => EmptyColumnFactory::create($label = 'transaction_amount'), 'template_mode' => EmptyColumnFactory::create($label = 'template_mode'), 'batch_template_id' => EmptyColumnFactory::create($label = 'batch_template_id'), 'first_party_acc_country_code' => ConfigurableStringColumnFactory::create($this->config, 'first_party_account_country_code', $label = 'first_party_acc_country_code'), 'first_party_acc_institution_code' => ConfigurableStringColumnFactory::create($this->config, 'first_party_account_institution_code', $label = 'first_party_acc_institution_code'), 'first_party_acc_currency' => ConfigurableStringColumnFactory::create($this->config, 'first_party_account_currency', $label = 'first_party_acc_currency'), 'payment_amount_debit_acc_currency' => EmptyColumnFactory::create($label = 'payment_amount_debit_acc_currency'), 'first_party_name' => EmptyColumnFactory::create($label = 'first_party_name'), 'first_party_info_1' => EmptyColumnFactory::create($label = 'first_party_info_1'), 'first_party_info_2' => EmptyColumnFactory::create($label = 'first_party_info_2'), 'first_party_info_3' => EmptyColumnFactory::create($label = 'first_party_info_3'), 'first_party_info_4' => EmptyColumnFactory::create($label = 'first_party_info_4'), 'payment_code' => EmptyColumnFactory::create($label = 'payment_code'), 'reference_line_1' => VariableLengthStringColumnFactory::create($this->getFileReference(), $max_length = 35, $label = 'reference_line_1')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @return Line
  */
 public function getLine()
 {
     $line = new Line();
     $line->setColumnDelimiter("");
     $columns = ['record_type' => PresetStringColumnFactory::create('0', $label = 'record_type'), 'file_name' => VariableLengthStringColumnFactory::create($this->fileName, 10, $label = 'file_name'), 'creation_date' => RightPaddedStringColumnFactory::create(date('Ymd'), 8, $label = 'creation_date'), 'creation_time' => RightPaddedStringColumnFactory::create(date('His'), 6, $label = 'creation_time'), 'company_id' => ConfigurableStringColumnFactory::create($config = $this->config, 'company_id', $label = 'company_id'), 'check_sum' => LeftPaddedZerofillStringColumnFactory::create(self::getCheckSum(), 15, $label = 'check_sum'), 'company_id_bib' => ConfigurableStringColumnFactory::create($config = $this->config, 'company_id', $label = 'company_id_bib'), 'filler' => RightPaddedStringColumnFactory::create('', 836, $label = 'filler')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @return Line
  */
 public function getLine()
 {
     $line = new Line();
     $line->setColumnDelimiter("");
     $columns = ['record_type' => PresetStringColumnFactory::create('1', $label = 'record_type'), 'batch_no' => RightPaddedStringColumnFactory::create('', 20, $label = 'batch_no'), 'payment_advice_header_line1' => RightPaddedStringColumnFactory::create('', 105, $label = 'payment_advice_header_line1'), 'payment_advice_header_line2' => RightPaddedStringColumnFactory::create('', 105, $label = 'payment_advice_header_line2'), 'filler' => RightPaddedStringColumnFactory::create('', 669, $label = 'filler')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @return Line
  */
 public function getLine()
 {
     $line = new Line();
     $line->setColumnDelimiter("");
     $columns = ['record_type' => PresetStringColumnFactory::create('9', $label = 'record_type'), 'no_trans' => LeftPaddedZerofillStringColumnFactory::create($this->getBeneficiaryCount(), $length = 8, $label = 'no_trans'), 'ttl_payment_amt' => LeftPaddedDecimalWithoutDelimiterColumnFactory::create($this->getTotalPaymentAmount(), $length = 15, $label = 'ttl_payment_amt'), 'filler' => RightPaddedStringColumnFactory::create('', $length = 876, $label = 'filler')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @param BeneficiaryAdapterInterface
  * @param String The key to read the config from
  */
 public static function cashiersOrderFormatPaymentInstructionLine(BeneficiaryAdapterInterface $beneficiary, $config_key)
 {
     $line = new Line($config_key);
     $line->setColumnDelimiter("");
     $date_column = new DateColumn();
     $date_column->setDate(static::getNextWorkingDay());
     $date_column->setFormat('Ymd');
     $settlement_ac_no = ConfigurableStringColumnFactory::create($config = $line->config, 'settlement_ac_no')->getString();
     $columns = ['record_type' => PresetStringColumnFactory::create('2', $label = 'record_type'), 'payment_type' => PresetStringColumnFactory::create('CHQ', $label = 'payment_type'), 'payment_currency' => ConfigurableStringColumnFactory::create($config = $line->config, 'payment_currency', $label = 'payment_currency'), 'payment_amt' => LeftPaddedDecimalWithoutDelimiterColumnFactory::create($beneficiary->getPaymentAmount(), $fixed_length = 15, $label = 'payment_amt'), 'value_date' => RightPaddedStringColumnFactory::create($date_column->getString(), 8, $label = 'value_date'), 'beneficiary_name1' => RightPaddedStringColumnFactory::create($beneficiary->getName1(), $max_length = 35, $label = 'beneficiary_name1'), 'beneficiary_name2' => RightPaddedStringColumnFactory::create($beneficiary->getName2(), $max_length = 35, $label = 'beneficiary_name2'), 'beneficiary_name3' => RightPaddedStringColumnFactory::create($beneficiary->getName3(), $max_length = 35, $label = 'beneficiary_name3'), 'beneficiary_add1' => RightPaddedStringColumnFactory::create($beneficiary->getAddress1(), $max_length = 35, $label = 'beneficiary_add1'), 'beneficiary_add2' => RightPaddedStringColumnFactory::create($beneficiary->getAddress2(), $max_length = 35, $label = 'beneficiary_add2'), 'beneficiary_add3' => RightPaddedStringColumnFactory::create($beneficiary->getAddress3(), $max_length = 35, $label = 'beneficiary_add3'), 'beneficiary_postcode' => RightPaddedStringColumnFactory::create($beneficiary->getPostcode(), 15, $label = 'beneficiary_postcode'), 'beneficiary_countrycode' => RightPaddedStringColumnFactory::create($line->config->get('beneficiary_countrycode'), $length = 3, $label = 'beneficiary_countrycode'), 'filler' => RightPaddedStringColumnFactory::create('', 6, $label = 'filler'), 'settlement_ac_no' => LeftPaddedZerofillStringColumnFactory::create($settlement_ac_no, 20, $label = 'settlement_ac_no'), 'currency' => ConfigurableStringColumnFactory::create($config = $line->config, 'payment_currency', $label = 'currency'), 'handling_opt' => PresetStringColumnFactory::create('M', $label = 'handling_opt'), 'mail_to_party' => PresetStringColumnFactory::create('BEN', $label = 'mail_to_party'), 'mail_name_add1' => RightPaddedStringColumnFactory::create('', 35, $label = 'mail_name_add1'), 'mail_name_add2' => RightPaddedStringColumnFactory::create('', 35, $label = 'mail_name_add2'), 'mail_name_add3' => RightPaddedStringColumnFactory::create('', 35, $label = 'mail_name_add3'), 'mail_name_add4' => RightPaddedStringColumnFactory::create('', 35, $label = 'mail_name_add4'), 'mail_postcode' => RightPaddedStringColumnFactory::create('', 15, $label = 'mail_postcode'), 'mail_countrycode' => RightPaddedStringColumnFactory::create('', 3, $label = 'mail_countrycode'), 'filler1' => RightPaddedStringColumnFactory::create('', 50, $label = 'filler1'), 'payment_indicator' => RightPaddedStringColumnFactory::create('', 1, $label = 'payment_indicator'), 'print_mode' => PresetStringColumnFactory::create('P', $label = 'print_mode'), 'beneficiary_id' => RightPaddedStringColumnFactory::create('', 20, $label = 'beneficiary_id'), 'print_advice_instruction' => PresetStringColumnFactory::create('1', $label = 'print_advice_instruction'), 'filler2' => RightPaddedStringColumnFactory::create('', 198, $label = 'filler2'), 'payer_name1' => RightPaddedStringColumnFactory::create('', 35, $label = 'payer_name1'), 'payer_name2' => RightPaddedStringColumnFactory::create('', 35, $label = 'payer_name2'), 'payer_refno' => RightPaddedStringColumnFactory::create($beneficiary->getPaymentId(), 30, $label = 'payer_refno'), 'email' => RightPaddedStringColumnFactory::create($beneficiary->getEmail(), 50, $label = 'email'), 'fax' => RightPaddedStringColumnFactory::create('', 20, $label = 'fax'), 'filler3' => RightPaddedStringColumnFactory::create('', 10, $label = 'filler3')];
     $line->setColumns($columns);
     return $line;
 }
 /**
  * @param Array of BeneficiaryAdapterInterface
  * @param String The key to read the config from
  */
 public function __construct(array $beneficiaries, $config_key)
 {
     $this->beneficiaries = $beneficiaries;
     parent::__construct($config_key);
 }