aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/Entities
diff options
context:
space:
mode:
authorRoy Ben Shabat <roy.mail.net@gmail.com>2025-09-10 03:02:56 +0300
committerRoy Ben Shabat <roy.mail.net@gmail.com>2025-09-10 03:02:56 +0300
commitb3f8ff791b0da2b600b719b745b99029b2df1c32 (patch)
tree309975ec47a0adacb9baf4a65bf6bdc02d09b11e /Software/Visual_Studio/Tango.BL/Entities
parentba37d5082917551fd9a2b194fa1489f1fd86f39b (diff)
downloadTango-b3f8ff791b0da2b600b719b745b99029b2df1c32.tar.gz
Tango-b3f8ff791b0da2b600b719b745b99029b2df1c32.zip
Machine Studio: Added support for all inks and future inks.
Added failure reason. Implemented dynamic CSV Export.
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/Entities')
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/JobRun.cs33
1 files changed, 23 insertions, 10 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
index f2a182e84..d98c384ce 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
@@ -95,16 +95,29 @@ namespace Tango.BL.Entities
{
_liquidQuantitiesFast = new List<JobRunLiquidQuantity>();
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Cyan, Quantity = CyanQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Magenta, Quantity = MagentaQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Yellow, Quantity = YellowQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Black, Quantity = BlackQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Transparent, Quantity = TransparentQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Lubricant, Quantity = LubricantQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.Cleaner, Quantity = CleanerQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.LightCyan, Quantity = LightCyanQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.LightMagenta, Quantity = LightMagentaQuantity });
- _liquidQuantitiesFast.Add(new JobRunLiquidQuantity() { LiquidType = LiquidTypes.LightYellow, Quantity = LightYellowQuantity });
+ // Cache all properties once for faster lookup
+ var props = this.GetType()
+ .GetProperties()
+ .Where(p => p.Name.EndsWith("Quantity", StringComparison.OrdinalIgnoreCase))
+ .ToDictionary(p => p.Name.ToLowerInvariant());
+
+ foreach (LiquidTypes lt in Enum.GetValues(typeof(LiquidTypes)))
+ {
+ string expectedPropName = (lt.ToString() + "Quantity").ToLowerInvariant();
+
+ if (props.TryGetValue(expectedPropName, out var prop))
+ {
+ var value = prop.GetValue(this);
+ if (value != null)
+ {
+ _liquidQuantitiesFast.Add(new JobRunLiquidQuantity()
+ {
+ LiquidType = lt,
+ Quantity = Convert.ToInt64(value)
+ });
+ }
+ }
+ }
}
return _liquidQuantitiesFast;