ExtendedQuantityCode to use Codes which are not definded in default Q… #493
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Stefan,
First of all, thank you for your awesome solution! We’ve been using it and are very happy with how it works.
One of our customers, however, requires some units that aren’t defined in QuantityUnitCodes. Extending the existing codes doesn’t seem practical, as it could turn into a never-ending story.
To address this, I’ve introduced the ExtendedQuantityCode property. This property can store either a default code or a custom code, giving us the flexibility to handle unique cases without modifying the predefined list.
How It Works
Now, LineItem includes both UnitCode and ExtendedUnitCode. The writer will prioritize ExtendedUnitCode and fall back to the default UnitCode if no custom value is provided.
Here’s how you can use it:
tradeLineItem.UnitCode = quantityCode;
// or
// Override with a Custom Unit
tradeLineItem.ExtendedUnitCode = new ExtendedQuantityCode("INH");
// or us default code from enum
tradeLineItem.ExtendedUnitCode = new ExtendedQuantityCode(tradeLineItem.UnitCode);
To retrieve the code:
var code = tradeLineItem.ExtendedUnitCode?.ToString();
I hope everything is correct...