Helper for working with TBC Bank's Integration Service Standard+ SOAP API in .NET. Provides guidance on architecture, SOAP operations, immutable types, and functional patterns.
Helper for working with the .NET 8.0 C# class library that provides a type-safe, immutable wrapper around TBC Bank's Integration Service Standard+ SOAP API.
This is a .NET 8.0 class library providing a functional, immutable abstraction over TBC Bank's SOAP API. The library emphasizes type safety, immutability, and functional error handling.
When asked to build or test:
```bash
dotnet build
dotnet test
dotnet test --filter "FullyQualifiedName~TestClassName.TestMethodName"
dotnet run --project AppifySheets.TBC.IntegrationService.Client.DemoConsole
```
1. **Immutable Data Structures**: All data types must be immutable records or value objects
2. **Functional Programming**: Use `CSharpFunctionalExtensions` for Result pattern and error handling
3. **Type Safety**: Strong typing with specific interfaces for different transfer types
4. **SOAP Abstraction**: Complex SOAP operations wrapped in clean, type-safe API
- `SoapInfrastructure/` - SOAP request/response classes per operation
- `TBCSoapCaller.cs` - Main entry point for API calls
1. **TBCSoapCaller**: Main service class handling SOAP communication with certificate authentication
2. **Request/Response IO Classes**: Type-safe wrappers for each SOAP operation (e.g., `ImportSinglePaymentOrdersRequestIo`)
3. **Transfer Type Interfaces**: Different interfaces for various transfer types (`ITransferWithinBank`, `ITransferToOtherBankNationalCurrency`, etc.)
4. **Value Objects**: Strongly-typed wrappers like `BankAccountV`, `CurrencyV`, `BankAccountWithCurrencyV`
When asked to add a new SOAP operation:
1. Create request/response IO classes in `SoapInfrastructure/[OperationName]/`
2. Implement `ISoapRequestIo<TResponse>` interface on the request class
3. Use immutable records for all data structures
4. Add XML serialization attributes matching TBC's SOAP schema exactly
5. Create helper methods if the operation is complex (reference `GetAccountMovementsHelper` as example)
6. Add corresponding tests in the test project
When implementing or modifying transfer operations:
When writing tests:
When handling errors:
- Value object construction
- Request validation
- SOAP response validation
When working with authentication:
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/tbc-bank-integration-service-client/raw