package cz.moneta.test.dsl.util.data.payment;

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;


@Builder
@Getter
public class PaymentData {

    private String postingValue;

    private String initiatorValue;

    private String instruction;

    private String distributionGroup;

    @Setter
    private Integer count;

    @Setter
    private Integer lastNonpriorityField;

    @Setter
    private Integer lastPriorityField;

    @Setter
    private String todayDate;

    @Setter
    private String reservationDate;

    @Setter
    private String distributionDate;

    private String firstPaymentDate;

    private String lastPaymentDate;

    private String submissionDate;

    private String documentDate;

    private String settlementDateFrom;

    private String settlementDateTo;

    @Setter
    private String settlementDate;

    private String dateXpath;

    private String documentId;

    private String accPrefix;

    private String channelId;

    @Setter
    private String orderId;

    private String debtorName;

    private String front;

    private String transactionCode;

    @Setter
    private String random;

    @Setter
    private String typeOfMessage;

    @Setter
    private String rateType;

    @Setter
    private String exchangeRate;

    @Setter
    private String creditorName;

    @Setter
    private String creditorAddress;

    @Setter
    private String e2eRefDb;

    @Setter
    private String icbsProfile;

    @Setter
    private String bicFi;

    private String bicBank;

    @Setter
    private String clearingPartner;

    @Setter
    private String trxReference;

    @Setter
    private String previousReference;

    private String payScheme;

    @Setter
    private String channelName;

    @Setter
    private String bankCode;

    @Setter
    private String bankName;

    @Setter
    private String nextDayDist;

    @Setter
    private String hdType;

    @Setter
    private String transactionType;

    @Setter
    private String clientBirthNum;

    @Setter
    private String accountNumberClient;

    @Setter
    private String creditorAcc;

    @Setter
    private String debtorAcc;

    @Setter
    private String creditorAdressLine1;

    @Setter
    private String creditorAdressLine2;

    @Setter
    private String creditorIban;

    @Setter
    private String debtorIban;

    @Setter
    private String iban;

    @Setter
    private String creditorBic;

    @Setter
    private String amount;

    @Setter
    private String amount1;

    @Setter
    private String amountIcbs;

    @Setter
    private String equivalentAmount;

    @Setter
    private String loansRegistrationNumbersAmount;

    @Setter
    private String banknotesAmount;

    @Setter
    private String coinsAmount;

    @Setter
    private String currencyCode;

    @Setter
    private String smsCode;

    @Setter
    private String feeType;

    @Setter
    private String banknotesSummary;

    @Setter
    private String coinsSummary;

    @Setter
    private String summary;

    private String period;

    private String dayMonth;

    private String transactionName;

    private String description;

    private String branchCode;

    @Setter
    private String messageId;

    @Setter
    private String message;

    @Builder.Default
    private String identification1 = "PŘÍKAZCE.....Harness Autotest.....1\n" +
            "PŘÍKAZCE.....Harness Autotest.....2\n" +
            "PŘÍKAZCE.....Harness Autotest.....3\n" +
            "PŘÍKAZCE.....Harness Autotest.....4";

    @Builder.Default
    private String identification2 = "PROTISTRANA....Harness Autotest...1\n" +
            "PROTISTRANA....Harness Autotest...2\n" +
            "PROTISTRANA....Harness Autotest...3\n" +
            "PROTISTRANA....Harness Autotest...4";

    @Builder.Default
    private String messageMax1 = "ZP pole......Harness Autotest.....1\n" +
            "ZP pole......Harness Autotest.....2\n" +
            "ZP pole......Harness Autotest.....3\n" +
            "ZP pole......Harness Autotest.....4";

    @Builder.Default
    private String messageMax2 = "AV pole......Harness Autotest.....1\n" +
            "AV pole......Harness Autotest.....2\n" +
            "AV pole......Harness Autotest.....3\n" +
            "AV pole......Harness Autotest.....4";

    @Builder.Default
    private String messageMin1 = "ZP pole......Harness Autotest.....1";

    @Builder.Default
    private String messageMin2 = "AV pole......Harness Autotest.....2";

    @Builder.Default
    private String name1 = "_Harness_Autotest_";

    @Builder.Default
    private String name2 = "Nazev_Harness_Autotest_1_Nazev_Harness_Autotest_2_";

    @Builder.Default
    private String variableSymbol = "1234567890";

    @Builder.Default
    private String specificSymbol = "0987654321";

    @Builder.Default
    private String constantSymbol = "3333333333";

    public String getBankCodeLong() {
        return bankCode + " - " + bankName;
    }

}
