aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/Helpers
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-29 01:25:37 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-29 01:25:37 +0200
commit5d68a000c44712026835be2af4698411e931865e (patch)
treeedf078c59631df433c26268d39c51c58343862dd /Software/Visual_Studio/Tango.BL/Helpers
parent29241b674e6e747ce64e521446e87596eb66dedd (diff)
downloadTango-5d68a000c44712026835be2af4698411e931865e.tar.gz
Tango-5d68a000c44712026835be2af4698411e931865e.zip
Latest release notes.
Fixed issue with color space transition from volume. New job creation template.xlsx Improved job csv importer. Fixed issue with CsvReader and CsvOrder Attr.
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/Helpers')
-rw-r--r--Software/Visual_Studio/Tango.BL/Helpers/SegmentsCsvHelper.cs77
1 files changed, 62 insertions, 15 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Helpers/SegmentsCsvHelper.cs b/Software/Visual_Studio/Tango.BL/Helpers/SegmentsCsvHelper.cs
index 446f7c9de..f99f9c97a 100644
--- a/Software/Visual_Studio/Tango.BL/Helpers/SegmentsCsvHelper.cs
+++ b/Software/Visual_Studio/Tango.BL/Helpers/SegmentsCsvHelper.cs
@@ -14,48 +14,77 @@ namespace Tango.BL.Helpers
{
public static class SegmentsCsvHelper
{
+ private const double MAX_VOLUME = 200;
+
public class SegmentCsvModel
{
-
+ [CsvOrder(0)]
public String Index { get; set; }
-
+
+ [CsvOrder(1)]
public String ColorSpace { get; set; }
-
+
+ [CsvOrder(2)]
public String Length { get; set; }
+ [CsvOrder(4)]
public String CatalogName1 { get; set; }
+
+ [CsvOrder(5)]
public String CatalogItem1 { get; set; }
+ [CsvOrder(6)]
public String Red1 { get; set; }
+ [CsvOrder(7)]
public String Green1 { get; set; }
+ [CsvOrder(8)]
public String Blue1 { get; set; }
+ [CsvOrder(9)]
public String L1 { get; set; }
+ [CsvOrder(10)]
public String A1 { get; set; }
+ [CsvOrder(11)]
public String B1 { get; set; }
-
+
+ [CsvOrder(12)]
public String Cyan1 { get; set; }
+ [CsvOrder(13)]
public String Magenta1 { get; set; }
+ [CsvOrder(14)]
public String Yellow1 { get; set; }
+ [CsvOrder(15)]
public String Black1 { get; set; }
+ [CsvOrder(17)]
public String CatalogName2 { get; set; }
+ [CsvOrder(18)]
public String CatalogItem2 { get; set; }
+ [CsvOrder(19)]
public String Red2 { get; set; }
+ [CsvOrder(20)]
public String Green2 { get; set; }
+ [CsvOrder(21)]
public String Blue2 { get; set; }
+ [CsvOrder(22)]
public String L2 { get; set; }
+ [CsvOrder(23)]
public String A2 { get; set; }
+ [CsvOrder(24)]
public String B2 { get; set; }
+ [CsvOrder(25)]
public String Cyan2{ get; set; }
+ [CsvOrder(26)]
public String Magenta2 { get; set; }
+ [CsvOrder(27)]
public String Yellow2 { get; set; }
+ [CsvOrder(28)]
public String Black2 { get; set; }
public bool IsRgb2NullOrEqual()
@@ -120,14 +149,28 @@ namespace Tango.BL.Helpers
{
Segment segment = new Segment();
segment.Name = "Standard Segment";
- segment.Length = double.Parse(row.Length);
- segment.SegmentIndex = int.Parse(row.Index);
+
+ double length;
+ if (!double.TryParse(row.Length, out length))
+ {
+ throw new InvalidOperationException($"Value Length '{row.Length}' should be a number on line'{lineCount}'.");
+ }
+
+ int segmentIndex;
+ if (!int.TryParse(row.Index, out segmentIndex))
+ {
+ throw new InvalidOperationException($"Value Index '{row.Index}' should be a number on line'{lineCount}'.");
+ }
+
+ segment.Length = length;
+ segment.SegmentIndex = segmentIndex;
ColorSpace colorSpace = colorSpaces.SingleOrDefault(x => x.Name == row.ColorSpace);
if (colorSpace == null) throw new InvalidOperationException($"Color space '{row.ColorSpace}' not found on line '{lineCount}'.");
BrushStop stop1 = new BrushStop();
+ stop1.StopIndex = 1;
stop1.ColorSpace = colorSpace;
stop1.OffsetPercent = 0;
stop1.Segment = segment;
@@ -162,6 +205,7 @@ namespace Tango.BL.Helpers
if (!row.IsRgb2NullOrEqual())
{
BrushStop stop2 = new BrushStop();
+ stop2.StopIndex = 2;
stop2.ColorSpace = stop1.ColorSpace;
stop2.OffsetPercent = 100;
@@ -200,7 +244,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Cyan1 '{row.Cyan1}' should be a number on line'{lineCount}.'!");
}
- if (cyan1 < 0 || cyan1 > 100) throw new InvalidOperationException($"Value Cyan1 '{row.Cyan1}' is out of range on line '{lineCount}.'!");
+ if (cyan1 < 0 || cyan1 > MAX_VOLUME) throw new InvalidOperationException($"Value Cyan1 '{row.Cyan1}' is out of range on line '{lineCount}.'!");
stop1.SetVolume(cyanIdsPack.PackIndex, cyan1);
double magenta1;
@@ -208,7 +252,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Magenta1 '{row.Magenta1}' should be a number on line'{lineCount}.'!");
}
- if (magenta1 < 0 || magenta1 > 100) throw new InvalidOperationException($"Value Magenta1 '{row.Magenta1}' is out of range on line '{lineCount}.'!");
+ if (magenta1 < 0 || magenta1 > MAX_VOLUME) throw new InvalidOperationException($"Value Magenta1 '{row.Magenta1}' is out of range on line '{lineCount}.'!");
stop1.SetVolume(magentaIdsPack.PackIndex, magenta1);
@@ -217,7 +261,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Yellow1 '{row.Yellow1}' should be a number on line'{lineCount}.'!");
}
- if (yellow1 < 0 || yellow1 > 100) throw new InvalidOperationException($"Value Yellow1 '{row.Yellow1}' is out of range on line '{lineCount}.'!");
+ if (yellow1 < 0 || yellow1 > MAX_VOLUME) throw new InvalidOperationException($"Value Yellow1 '{row.Yellow1}' is out of range on line '{lineCount}.'!");
stop1.SetVolume(yellowIdsPack.PackIndex, yellow1);
@@ -226,13 +270,14 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Black1 '{row.Black1}' should be a number on line'{lineCount}.'!");
}
- if (black1 < 0 || black1 > 100) throw new InvalidOperationException($"Value Black1 '{row.Black1}' is out of range on line '{lineCount}.'!");
+ if (black1 < 0 || black1 > MAX_VOLUME) throw new InvalidOperationException($"Value Black1 '{row.Black1}' is out of range on line '{lineCount}.'!");
stop1.SetVolume(blackIdsPack.PackIndex, black1);
if (!row.IsVolumeNullOrEqual())
{
BrushStop stop2 = new BrushStop();
+ stop2.StopIndex = 2;
stop2.ColorSpace = stop1.ColorSpace;
stop2.OffsetPercent = 100;
@@ -241,7 +286,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Cyan2 '{row.Cyan2}' should be a number on line'{lineCount}.'!");
}
- if (cyan2 < 0 || cyan2 > 100) throw new InvalidOperationException($"Value Cyan2 '{row.Cyan2}' is out of range on line '{lineCount}.'!");
+ if (cyan2 < 0 || cyan2 > MAX_VOLUME) throw new InvalidOperationException($"Value Cyan2 '{row.Cyan2}' is out of range on line '{lineCount}.'!");
stop2.SetVolume(cyanIdsPack.PackIndex, cyan2);
double magenta2;
@@ -249,7 +294,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Magenta2 '{row.Magenta2}' should be a number on line'{lineCount}.'!");
}
- if (magenta2 < 0 || magenta2 > 100) throw new InvalidOperationException($"Value Magenta2 '{row.Magenta2}' is out of range on line '{lineCount}.'!");
+ if (magenta2 < 0 || magenta2 > MAX_VOLUME) throw new InvalidOperationException($"Value Magenta2 '{row.Magenta2}' is out of range on line '{lineCount}.'!");
stop2.SetVolume(magentaIdsPack.PackIndex, magenta2);
@@ -258,7 +303,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Yellow2 '{row.Yellow2}' should be a number on line'{lineCount}.'!");
}
- if (yellow2 < 0 || yellow2 > 100) throw new InvalidOperationException($"Value Yellow2 '{row.Yellow2}' is out of range on line '{lineCount}.'!");
+ if (yellow2 < 0 || yellow2 > MAX_VOLUME) throw new InvalidOperationException($"Value Yellow2 '{row.Yellow2}' is out of range on line '{lineCount}.'!");
stop2.SetVolume(yellowIdsPack.PackIndex, yellow2);
@@ -267,7 +312,7 @@ namespace Tango.BL.Helpers
{
throw new InvalidOperationException($"Value Black2 '{row.Black2}' should be a number on line'{lineCount}.'!");
}
- if (black2 < 0 || black2 > 100) throw new InvalidOperationException($"Value Black2 '{row.Black2}' is out of range on line '{lineCount}.'!");
+ if (black2 < 0 || black2 > MAX_VOLUME) throw new InvalidOperationException($"Value Black2 '{row.Black2}' is out of range on line '{lineCount}.'!");
stop2.SetVolume(blackIdsPack.PackIndex, black2);
@@ -306,6 +351,7 @@ namespace Tango.BL.Helpers
throw new InvalidOperationException($"Catalog item '{row.CatalogItem2}' not found on catalog '{catalog2.Name}' on line '{lineCount}'.");
}
BrushStop stop2 = new BrushStop();
+ stop2.StopIndex = 2;
stop2.ColorCatalog = catalog2;
stop2.ColorCatalogsItem = item2;
stop2.Color = item2.Color;
@@ -333,6 +379,7 @@ namespace Tango.BL.Helpers
if (!row.IsLab2NullOrEqual())
{
BrushStop stop2 = new BrushStop();
+ stop2.StopIndex = 2;
stop2.ColorSpace = stop1.ColorSpace;
stop2.OffsetPercent = 100;
@@ -362,7 +409,7 @@ namespace Tango.BL.Helpers
}
catch (Exception ex)
{
- throw new InvalidOperationException($"Error parsing file on line {lineCount}.\n{ex.FlattenMessage()}");
+ throw new InvalidOperationException($"Error parsing file on line {lineCount}.\n{ex.Message}");
}
}