aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2021-07-20 12:22:23 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2021-07-20 12:22:23 +0300
commit2741e998e9a039e4f25e621b00483d72891840eb (patch)
treeaf29762e5585c856f9657e9c6997f94b0b646d84 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models
parent2e37232fd2055ff0556c43c6f3f68e5ac427f2f6 (diff)
parentf4fc9795b21c8631451ca16e93e479bcd3872bb5 (diff)
downloadTango-2741e998e9a039e4f25e621b00483d72891840eb.tar.gz
Tango-2741e998e9a039e4f25e621b00483d72891840eb.zip
MERGE Vica changes.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs39
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs39
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs44
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs170
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs33
5 files changed, 325 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs
new file mode 100644
index 000000000..da7471e16
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Documents;
+
+namespace Tango.MachineStudio.ThreadExtensions.Models
+{
+ public class ColorDataExcelModel
+ {
+ public int NlCm { get; set; }
+ public double L { get; set; }
+ public double A { get; set; }
+ public double B { get; set; }
+
+ public ColorDataExcelModel()
+ {
+ NlCm = 0;
+ L = A = B = 0.0;
+ }
+
+ public static void GetDataFromFile(string fileName, out List<ColorDataExcelModel> items, ref string errors)
+ {
+ items = null;
+ try
+ {
+ using (ExcelReader reader = new ExcelReader(fileName))
+ {
+ items = reader.GetDataByIndex<ColorDataExcelModel>("Sheet1", 1);
+ }
+ }
+ catch (Exception ex)
+ {
+ errors = ex.Message;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs
new file mode 100644
index 000000000..0cb2679fd
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Enumerations;
+
+namespace Tango.MachineStudio.ThreadExtensions.Models
+{
+ public static class FactorTarget
+ {
+ public static Dictionary<FactorColors, double> FACTOR100 = new Dictionary<FactorColors, double>() {
+ { FactorColors.CYAN, 51.95}, {FactorColors.MAGENTA, 47.47}, { FactorColors.YELLOW, 94.05}, {FactorColors.BLACK, 26.58}};
+
+ public static Dictionary<FactorColors, double> FACTOR200 = new Dictionary<FactorColors, double>() {
+ { FactorColors.CYAN, 46.3}, {FactorColors.MAGENTA, 41.04}, { FactorColors.YELLOW, 97.78}, {FactorColors.BLACK, 21.01}};
+
+ public static double GetFactor100(FactorColors color)
+ {
+ double result;
+
+ if (FACTOR100.TryGetValue(color, out result))
+ {
+ return result;
+ }
+ return 0.0;
+ }
+ public static double GetFactor200(FactorColors color)
+ {
+ double result;
+
+ if (FACTOR200.TryGetValue(color, out result))
+ {
+ return result;
+ }
+ return 0.0;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs
new file mode 100644
index 000000000..e41a6a220
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core;
+
+namespace Tango.MachineStudio.ThreadExtensions.Models
+{
+ public class MachineModel : ExtendedObject
+ {
+ public String Guid { get; set; }
+
+ public string Name { get; set; }
+
+ protected String _serialnumber;
+
+ public String SerialNumber
+ {
+ get{ return _serialnumber; }
+ set
+ {
+ _serialnumber = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
+ private bool _hasRMLTest;
+
+ public bool HasRMLTest
+ {
+ get { return _hasRMLTest; }
+ set { _hasRMLTest = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
+ public MachineModel()
+ {
+ HasRMLTest = false;
+ }
+
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs
new file mode 100644
index 000000000..ee882ad4b
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs
@@ -0,0 +1,170 @@
+using OxyPlot;
+using OxyPlot.Wpf;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using Tango.BL.Entities;
+using Tango.BL.Enumerations;
+using Tango.Core;
+using Tango.MachineStudio.ThreadExtensions.ViewModels;
+
+namespace Tango.MachineStudio.ThreadExtensions.Models
+{
+ public class PlotProperties : ExtendedObject
+ {
+ public Plot PlotControl { get; set; }
+ private IList<DataPoint> _points;
+
+ private FactorColors _color;
+
+ public FactorColors Color
+ {
+ get { return _color; }
+ set { _color = value; }
+ }
+
+ /// <summary>
+ /// Binding to ItemsSource of line chart.
+ /// </summary>
+ public IList<DataPoint> Points
+ {
+ get { return _points; }
+ set
+ {
+ _points = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ private IList<DataPoint> _target100Points;
+ /// <summary>
+ /// Binding to ItemsSource of line chart.
+ /// </summary>
+ public IList<DataPoint> Target100Points
+ {
+ get { return _target100Points; }
+ set
+ {
+ _target100Points = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ private IList<DataPoint> _target200Points;
+ /// <summary>
+ /// Binding to ItemsSource of line chart.
+ /// </summary>
+ public IList<DataPoint> Target200Points
+ {
+ get { return _target200Points; }
+ set
+ {
+ _target200Points = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ private int _step;
+ public int XStep
+ {
+ get { return _step; }
+ set { _step = value; RaisePropertyChangedAuto(); }
+ }
+
+ private double _from;
+ /// <summary>
+ /// From use to binding to bottom axis min value
+ /// </summary>
+ public double From
+ {
+ get { return _from; }
+ set
+ {
+ _from = value; RaisePropertyChangedAuto();
+ }
+ }
+
+ private double _to;
+ /// <summary>
+ /// To use to binding to bottom axis max value
+ /// </summary>
+ public double To
+ {
+ get { return _to; }
+ set
+ {
+ _to = value; RaisePropertyChangedAuto();
+ }
+ }
+
+ public PlotProperties(FactorColors color)
+ {
+ this.Points = new List<DataPoint>();
+ Target100Points = new List<DataPoint>();
+ Target200Points = new List<DataPoint>();
+ Color = color;
+
+ }
+
+ public void ClearResults()
+ {
+ Points.Clear();
+ Target100Points.Clear();
+ Target200Points.Clear();
+ }
+
+ public void CreateGraph(List<ColorProcessData> points, bool isLtype)
+ {
+ if (PlotControl == null)
+ {
+ Debug.WriteLine("ERROR!!! CreateGraph. Plot Control is NULL.");
+ return;
+ }
+
+ ClearResults();
+ PlotControl.InvalidatePlot(true);
+
+ double target100Y = FactorTarget.GetFactor100(Color);
+ double target200Y = FactorTarget.GetFactor200(Color);
+
+ _to = target100Y > target200Y? target100Y + 10: target200Y + 10;
+ _from = target100Y < target200Y ? target100Y - 10 : target200Y - 10;
+
+ foreach ( var x in points)
+ {
+ var point = new DataPoint(x.InkNlCm, isLtype ? x.L : x.B);
+ Points.Add(point);
+
+ _to = _to > point.Y ? _to : point.Y;
+ _from = ( _from == 0 || _from > point.Y ) ? point.Y : _from;
+
+ }
+ if (points.Count > 1)
+ {
+ var minInkNlCm = points.Min(n => n.InkNlCm);
+ var maxInkNlCm = points.Max(n => n.InkNlCm);
+ if(! Target100Points.Any(x => x.X == minInkNlCm))
+ {
+ Target100Points.Add(new DataPoint(minInkNlCm, target100Y));
+ Target200Points.Add(new DataPoint(minInkNlCm, target200Y));
+ }
+ if (!Target100Points.Any(x => x.X == maxInkNlCm))
+ {
+ Target100Points.Add(new DataPoint(maxInkNlCm, target100Y));
+ Target200Points.Add(new DataPoint(maxInkNlCm, target200Y));
+ }
+ }
+ Debug.WriteLine($"CreateGraph. Count Points {points.Count}");
+
+ if (_to == 0)
+ _to = isLtype ? 100 : 128;
+ if (_from == 0)
+ _from = isLtype ? 0 : -127;
+
+ RaisePropertyChanged("To");
+ RaisePropertyChanged("From");
+ XStep = (int)(Points.Count / 6);
+
+ PlotControl.InvalidatePlot(true);
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs
new file mode 100644
index 000000000..9b5d9d8ce
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Enumerations;
+using Tango.Core;
+
+namespace Tango.MachineStudio.ThreadExtensions.Models
+{
+ public class RmlExtensionModel : ExtendedObject
+ {
+ public String Guid { get; set; }
+
+ public String RMLGuid { get; set; }
+
+ public string Name { get; set; }
+
+ public String Manufacturer { get; set; }
+
+ public String Brand { get; set; }
+
+ public int LinearDensity { get; set; }
+
+ public String CreatedBy { get; set;}
+
+ public DateTime Created { get; set; }
+
+ public DateTime LastUpdated { get; set; }
+
+ public RMLExtensionStatus Status{ get; set; }
+ }
+}