Class FinBankParamData
Wraps the bank parameter data (BPD) sequence.
Inheritance
Implements
Inherited Members
Namespace: Subsembly.FinTS
Assembly: Subsembly.FinTS.Core.dll
Syntax
public sealed class FinBankParamData : IEnumerable
Constructors
FinBankParamData()
Creates a new and completely empty FinBankParamData instance.
Declaration
public FinBankParamData()
FinBankParamData(FinSegment)
Creates a new FinBankParamData instance from a given HIBPA segment.
Declaration
public FinBankParamData(FinSegment aHIBPA)
Parameters
Type | Name | Description |
---|---|---|
FinSegment | aHIBPA | HIBPA segment that is the initial content of this FinBankParamData instance. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | The parameter aHIBPA was |
System.ArgumentException | The parameter aHIBPA was not a segment of type "HIBPA". |
Properties
BankCode
Bank code from the HIBPA segment.
Declaration
public string BankCode { get; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown. |
BankName
Bank name from HIBPA segment.
Declaration
public string BankName { get; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.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.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
CountryCode
Country code from the HIBPA segment.
Declaration
public string CountryCode { get; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown. |
FinTSVersions
List of supported FinTS versions.
Declaration
public int[] FinTSVersions { get; }
Property Value
Type | Description |
---|---|
System.Int32[] |
HIBPA
Provides direct access to the HIBPA segment.
Declaration
public FinSegment HIBPA { get; }
Property Value
Type | Description |
---|---|
FinSegment |
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
Type | Condition |
---|---|
System.InvalidOperationException | If this FinBankParamData instance was not filled with BPD segments, yet, then an InvalidOperationException is thrown. |
HIKOM
Direct access to HIKOM segment.
Declaration
public FinSegment HIKOM { get; }
Property Value
Type | Description |
---|---|
FinSegment |
HIKPV
Direct access to HIKPV segment.
Declaration
public FinSegment HIKPV { get; }
Property Value
Type | Description |
---|---|
FinSegment |
HIPINS
Direct access to HIPINS segment.
Declaration
public FinSegment HIPINS { get; }
Property Value
Type | Description |
---|---|
FinSegment |
HISHV
Deprecated: Use SecurityMethodParam instead!
Declaration
public FinSegment HISHV { get; }
Property Value
Type | Description |
---|---|
FinSegment |
IsEmpty
Is
true
if this BPD sequence was not filled with any BPD segments,
yet.
Declaration
public bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Languages
List of supported languages.
Declaration
public FinLanguage[] Languages { get; }
Property Value
Type | Description |
---|---|
FinLanguage[] |
MaxLenPin
Maximum PIN length for PIN/TAN security.
Declaration
public int MaxLenPin { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public int MaxLenTan { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public int MaxMsgSize { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public int MaxOrderTypes { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
MaxTimeout
Optional maximum timeout before the dialog is automatically aborted.
Declaration
public int MaxTimeout { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public int MinLenPin { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public int MinTimeout { get; }
Property Value
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public FinSecurityMethodParam SecurityMethodParam { get; }
Property Value
Type | Description |
---|---|
FinSecurityMethodParam |
TextCustID
Optional text label that shall be used to prompt for entering the customer ID.
Declaration
public string TextCustID { get; }
Property Value
Type | Description |
---|---|
System.String |
TextUserID
Optional text label that shall be used to prompt for entering the user ID.
Declaration
public string TextUserID { get; }
Property Value
Type | Description |
---|---|
System.String |
Version
BPD version from the HIBPA segment.
Declaration
public int Version { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Exceptions
Type | Condition |
---|---|
System.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.
Declaration
public void Clear()
FindCommAddress(FinCommService)
Find the communication address for a communication service in the HIKOM segment.
Declaration
public string FindCommAddress(FinCommService nCommService)
Parameters
Type | Name | Description |
---|---|---|
FinCommService | nCommService | The communication service for which to return the communication address. |
Returns
Type | Description |
---|---|
System.String | If there is a HIKOM segment, and it contains a communication address for the
requested communication service, then it will be returned. Otherwise, |
FindParameterSegment(String, Int32)
Find a parameter segment with the highest acceptable segment version.
Declaration
public FinSegment FindParameterSegment(string sSegmentType, int nMaxSegmentVersion)
Parameters
Type | Name | Description |
---|---|---|
System.String | sSegmentType | The segment type of the parameter segment that is sought. Usually this looks something like HIxxxS. This must not be null. |
System.Int32 | nMaxSegmentVersion | Maximum 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 System.Int32.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
Type | Description |
---|---|
FinSegment | If an acceptable parameter segment was found, then its reference is returned. If
not, then |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentOutOfRangeException | A negative nMaxSegmentVersion value was passed. |
GetEnumerator()
Implements System.Collections.IEnumerable and provides an enumerator that iterates all HIxxxS transaction parameter data segments.
Declaration
public IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
System.Collections.IEnumerator |
Read(Stream)
Reads a complete bank parameter data segment sequence from a given stream.
Declaration
public static FinBankParamData Read(Stream aStream)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | aStream | Input stream that provides the raw bank parameter data segment sequence. |
Returns
Type | Description |
---|---|
FinBankParamData | Returns a new instance of the FinBankParamData class initialised with the bank parameter data segment sequence from the loaded stream. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | Parameter aStream was null. |
TanRequired(String)
Determine the TAN requirements for a given segment type.
Declaration
public int TanRequired(string sSegmentType)
Parameters
Type | Name | Description |
---|---|---|
System.String | sSegmentType | The order segment type, e.g. "HKUEB", to query. |
Returns
Type | Description |
---|---|
System.Int32 | 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.
Declaration
public void Write(Stream aStream)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | aStream | Output stream that receives the raw bank parameter data segment sequence. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | Parameter aStream was null. |