Class FinBankParamData
Wraps the bank parameter data (BPD) sequence.
public sealed class FinBankParamData : IEnumerable
- Inheritance
-
FinBankParamData
- Implements
- Inherited Members
Constructors
FinBankParamData()
Creates a new and completely empty FinBankParamData instance.
public FinBankParamData()
FinBankParamData(FinSegment)
Creates a new FinBankParamData instance from a given HIBPA segment.
public FinBankParamData(FinSegment aHIBPA)
Parameters
aHIBPAFinSegmentHIBPA segment that is the initial content of this FinBankParamData instance.
Exceptions
- ArgumentNullException
The parameter aHIBPA was
null.- ArgumentException
The parameter aHIBPA was not a segment of type "HIBPA".
Properties
BankCode
Bank code from the HIBPA segment.
public string BankCode { get; }
Property Value
Exceptions
- InvalidOperationException
If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown.
BankName
Bank name from HIBPA segment.
public string BankName { get; }
Property Value
Exceptions
- InvalidOperationException
If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown.
Count
Number of transaction parameter data segments available in this bank parameter data.
public int Count { get; }
Property Value
CountryCode
Country code from the HIBPA segment.
public string CountryCode { get; }
Property Value
Exceptions
- InvalidOperationException
If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown.
FinTSVersions
List of supported FinTS versions.
public int[] FinTSVersions { get; }
Property Value
- int[]
HIBPA
Provides direct access to the HIBPA segment.
public FinSegment HIBPA { get; }
Property Value
Remarks
Direct access to the HIBPA segment is discouraged. Instead the various properties of this class shall be used to access the information from the HIBPA segment.
Exceptions
- InvalidOperationException
If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown.
HIKOM
Direct access to HIKOM segment.
public FinSegment HIKOM { get; }
Property Value
HIKPV
Direct access to HIKPV segment.
public FinSegment HIKPV { get; }
Property Value
HIPINS
Direct access to HIPINS segment.
public FinSegment HIPINS { get; }
Property Value
HISHV
Deprecated: Use SecurityMethodParam instead!
public FinSegment HISHV { get; }
Property Value
IsEmpty
Is
true if this BPD sequence was not filled with any BPD segments,
yet.
public bool IsEmpty { get; }
Property Value
Languages
List of supported languages.
public FinLanguage[] Languages { get; }
Property Value
MaxLenPin
Maximum PIN length for PIN/TAN security.
public int MaxLenPin { get; }
Property Value
- int
This value can optionally be included in the FinTS 3.0 segment HIPINS. If it is not explicitly provided, then 99 will be returned if HIPINS is supported. If no HIPINS segment is present, then 0 is returned.
MaxLenTan
Maximum TAN length for PIN/TAN security.
public int MaxLenTan { get; }
Property Value
- int
This value can optionally be included in the FinTS 3.0 segment HIPINS. If it is not explicitly provided, then 99 will be returned if HIPINS is supported. If no HIPINS segment is present, then 0 is returned.
MaxMsgSize
Optional maximum message size from HIBPA segment.
public int MaxMsgSize { get; }
Property Value
- int
The maximum allowed message size for customer messages in kilobytes. No guarantees are given that bank message also obey this limit. If no maximum message size is given, then this property is zero.
MaxOrderTypes
Maximum number of different order types that may be sent in a single customer message.
public int MaxOrderTypes { get; }
Property Value
MaxTimeout
Optional maximum timeout before the dialog is automatically aborted.
public int MaxTimeout { get; }
Property Value
- int
The maximum time in seconds that a client may be idle before the server automatically aborts an open dialog. If this is not explicitly given the property will be zero.
MinLenPin
Minimum PIN length for PIN/TAN security.
public int MinLenPin { get; }
Property Value
- int
This value can optionally be included in the FinTS 3.0 segment HIPINS. If it is not explicitly provided, then 1 will be returned, which is the absolute minimum. If no HIPINS segment is present, then 0 is returned.
MinTimeout
Optional minimum timeout for life-indicator in FinTS 3.0.
public int MinTimeout { get; }
Property Value
- int
The minimum time in seconds that must pass before the client may send a life-indicator message in FinTS 3.0. If this is not explicitly given the property will be zero.
SecurityMethodParam
The HISHV segment.
public FinSecurityMethodParam SecurityMethodParam { get; }
Property Value
TextCustID
Optional text label that shall be used to prompt for entering the customer ID.
public string TextCustID { get; }
Property Value
TextUserID
Optional text label that shall be used to prompt for entering the user ID.
public string TextUserID { get; }
Property Value
Version
BPD version from the HIBPA segment.
public int Version { get; }
Property Value
Exceptions
- InvalidOperationException
If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown.
Methods
Clear()
Remove all BPD segments from this BPD Sequence.
public void Clear()
FindCommAddress(FinCommService)
Find the communication address for a communication service in the HIKOM segment.
public string FindCommAddress(FinCommService nCommService)
Parameters
nCommServiceFinCommServiceThe communication service for which to return the communication address.
Returns
- string
If there is a HIKOM segment, and it contains a communication address for the requested communication service, then it will be returned. Otherwise,
nullis returned. The communication address is not validated, but returned exactly as it was supplied by the bank.
FindParameterSegment(string, int)
Find a parameter segment with the highest acceptable segment version.
public FinSegment FindParameterSegment(string sSegmentType, int nMaxSegmentVersion)
Parameters
sSegmentTypestringThe segment type of the parameter segment that is sought. Usually this looks something like HIxxxS. This must not be null.
nMaxSegmentVersionintMaximum acceptable parameter segment version that is sought. If this is zero, then the very first occurence of sSegmentType is returned, regardless of its version number. If this is MaxValue, then the parameter segment with the given type and the highest version number in the collection is returned. In any other case, the first parameter segment with a matching sSegmentType and the highest version number that is less or equal than nMaxSegmentVersion is returned.
Returns
- FinSegment
If an acceptable parameter segment was found, then its reference is returned. If not, then
nullis returned. The version number of the parameter segment that was actually found can be checked through the Version property of the returned FinSegment.
Exceptions
- ArgumentNullException
nullwas passed for the sSegmentType parameter.- ArgumentOutOfRangeException
A negative nMaxSegmentVersion value was passed.
GetEnumerator()
Implements IEnumerable and provides an enumerator that iterates all HIxxxS transaction parameter data segments.
public IEnumerator GetEnumerator()
Returns
Read(Stream)
Reads a complete bank parameter data segment sequence from a given stream.
public static FinBankParamData Read(Stream aStream)
Parameters
aStreamStreamInput stream that provides the raw bank parameter data segment sequence.
Returns
- FinBankParamData
Returns a new instance of the FinBankParamData class initialised with the bank parameter data segment sequence from the loaded stream.
Exceptions
- ArgumentNullException
Parameter aStream was null.
TanRequired(string)
Determine the TAN requirements for a given segment type.
public int TanRequired(string sSegmentType)
Parameters
sSegmentTypestringThe order segment type, e.g. "HKUEB", to query.
Returns
- int
If a TAN is required for the given segment type, then 1 is returned. If no TAN is required, then 0 is returned. If the segment type is not supported at all for PIN/TAN security, then -1 is returned.
Write(Stream)
Writes the complete bank parameter data segment sequence to the given stream.
public void Write(Stream aStream)
Parameters
aStreamStreamOutput stream that receives the raw bank parameter data segment sequence.
Exceptions
- ArgumentNullException
Parameter aStream was null.