diff options
| author | Roy Ben Shabat <roy.mail.net@gmail.com> | 2025-09-10 03:02:56 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <roy.mail.net@gmail.com> | 2025-09-10 03:02:56 +0300 |
| commit | b3f8ff791b0da2b600b719b745b99029b2df1c32 (patch) | |
| tree | 309975ec47a0adacb9baf4a65bf6bdc02d09b11e /Software/Visual_Studio/Tango.BL/Entities | |
| parent | ba37d5082917551fd9a2b194fa1489f1fd86f39b (diff) | |
| download | Tango-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.cs | 33 |
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; |
