public SupplyRecord Build(SOInvoice soInvoice, ARRegister register, TaxTran taxTran, Customer customer, int gafLineNumber)
        {
            var supplyRecord = BuildInternal(register, taxTran, gafLineNumber);

            _recordBuilderByCustomerData.Build(supplyRecord, register, customer);
            _recordCountryBuilder.Build(supplyRecord, soInvoice);

            return(supplyRecord);
        }
        public SupplyRecord Build(ARInvoice invoice, TaxTran taxTran, Customer customer, int gafLineNumber)
        {
            var supplyRecord = BuildInternal(invoice, taxTran, gafLineNumber);

            _recordBuilderByCustomerData.Build(supplyRecord, invoice, customer);
            _recordCountryBuilder.Build(supplyRecord, invoice);

            return(supplyRecord);
        }
        public SupplyRecord Build(TExtendedInvoice extendedInvoice, ARRegister register, ARTran tran, ARTax tranTax, Customer customer, int lineNumber)
        {
            var supplyRecord = BuildInternal(register, tran, tranTax, lineNumber);

            _supplyRecordBuilderByCustomerData.Build(supplyRecord, register, customer);

            _countryBuilder.Build(supplyRecord, extendedInvoice);

            return(supplyRecord);
        }