MinsaitToDDL.Lib
1.0.7
dotnet add package MinsaitToDDL.Lib --version 1.0.7
NuGet\Install-Package MinsaitToDDL.Lib -Version 1.0.7
<PackageReference Include="MinsaitToDDL.Lib" Version="1.0.7" />
<PackageVersion Include="MinsaitToDDL.Lib" Version="1.0.7" />
<PackageReference Include="MinsaitToDDL.Lib" />
paket add MinsaitToDDL.Lib --version 1.0.7
#r "nuget: MinsaitToDDL.Lib, 1.0.7"
#:package MinsaitToDDL.Lib@1.0.7
#addin nuget:?package=MinsaitToDDL.Lib&version=1.0.7
#tool nuget:?package=MinsaitToDDL.Lib&version=1.0.7
MinsaitToDDL
MinsaitToDDL is a .NET integration solution designed to parse, validate, transform, and generate Minsait XML business documents (Invoices and Orders) into a unified internal DDL (Domain Data Layer) model.
This project is intended for ERP integrations, EDI pipelines, middleware platforms, and financial document processing, providing a clean separation between:
- External Minsait XML formats
- Internal business/domain models
- Validation and transformation logic
✨ Key Features
- ✅ Parse Minsait Invoice XML
- ✅ Parse Minsait Order XML
- ✅ Reverse parsing (DDL → Minsait XML)
- ✅ XML validation using official XSD schemas
- ✅ Strongly typed domain models
- ✅ AutoMapper-based transformation layer
- ✅ Console application for testing and automation
- ✅ Library-ready architecture (NuGet compatible)
🏗 Solution Structure
MinsaitToDDL
│
├── MinsaitToDDL.Lib
│ ├── Interfaces
│ │ └── IMinsaitParser.cs
│ │
│ ├── Models
│ │ ├── DDL
│ │ │ ├── ItemTransaction.cs
│ │ │ ├── Detail.cs
│ │ │ ├── TaxList.cs
│ │ │ └── ...
│ │ │
│ │ └── Minsait
│ │ ├── Common
│ │ ├── Invoice
│ │ ├── Order
│ │ └── ...
│ │
│ ├── Parsers
│ │ ├── MinsaitInvoiceParser.cs
│ │ ├── MinsaitOrderParser.cs
│ │ ├── MinsaitInvoiceReverseParser.cs
│ │ ├── MinsaitOrderReverseParser.cs
│ │ └── MinsaitReverseParser.cs
│ │
│ ├── Validation
│ │ ├── XmlSchemaValidator.cs
│ │ └── MinsaitSchemaResolver.cs
│ │
│ ├── Enums
│ └── MinsaitInvoiceMapper.cs
│
├── MinsaitToDDL.Console
│ ├── Program.cs
│ └── Resources
│ ├── invoice.xml
│ ├── order.xml
│ └── schemas
│
├── MinsaitToDDL.sln
├── LICENSE.txt
└── README.md
🧠 Architecture Overview
Minsait Models
- Represent the original XML structure
- Designed for exact deserialization
- Located under
Models/Minsait/*
DDL Models
- Internal, normalized business entities
- Independent of Minsait-specific rules
- Optimized for ERP and database usage
Parsers
- Convert XML → Objects → DDL
- Enforce schema validation
- Implement shared interfaces
Reverse Parsers
- Convert DDL → Minsait-compliant XML
- Ensure output matches XSD rules
🔄 Data Flow
Minsait XML
↓ (XSD Validation)
Minsait Models
↓ (AutoMapper)
DDL Models
↓ (Business Logic / ERP)
DDL Models
↓ (Reverse Parser)
Minsait XML
▶️ Console Application
The console project demonstrates:
- Loading sample XML files
- Validating against XSD
- Parsing to DDL
- Generating XML back
Example
dotnet run --project MinsaitToDDL.Console
You can modify Program.cs to:
- Batch process files
- Integrate with queues or APIs
- Export results to files or databases
🧪 Validation
XML validation is performed using XmlSchemaValidator:
- Prevents invalid documents early
- Supports multiple schemas
- Clear error reporting
📦 Usage as Library
You can reference MinsaitToDDL.Lib from another project:
var parser = new MinsaitInvoiceParser();
var transaction = parser.Parse(xmlString);
Reverse generation:
var reverseParser = new MinsaitInvoiceReverseParser();
var xml = reverseParser.Generate(transaction);
🔧 Requirements
- .NET 6.0 or higher
- AutoMapper
- System.Xml
- System.Xml.Schema
📄 License
This project is licensed under the terms defined in LICENSE.txt.
👤 Author / Maintainer
João Costa
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- AutoMapper (>= 8.1.1)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.