diff --git a/EgwProxy.Icoel.Test/Program.cs b/EgwProxy.Icoel.Test/Program.cs
index 6e3b2e11..f815aa2d 100644
--- a/EgwProxy.Icoel.Test/Program.cs
+++ b/EgwProxy.Icoel.Test/Program.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EgwProxy.Icoel;
+using EgwProxy.Icoel.SizerService;
namespace EgwProxy.Icoel.Test
{
@@ -25,21 +26,22 @@ namespace EgwProxy.Icoel.Test
try
{
- var varList = IcoelSizer.RecuperaVarietyLayout();
- if (varList != null)
+ var varList = IcoelSizer.GetVarietyList();
+ var varietyData = IcoelSizer.GetLayoutForVarietyList(varList);
+ if (varietyData != null)
{
- var stringList = IcoelSizer.DisplayVarietyLayout(varList);
- foreach (var item in stringList)
- {
- Console.WriteLine(item);
- }
+ DisplayVarietyLayout(varietyData);
}
- IcoelSizer.VerificaLottoCorrente();
-
+ var currBatch=IcoelSizer.GetCurrentBatch();
+ foreach (var item in currBatch)
+ {
+ string lato = item.Key == 1 ? "SX" : "DX";
+ Console.WriteLine($"[{item.Key}-{lato}] Grower code: {item.Value.GrowerCode} | Layout Name: {item.Value.LayoutName} | Totalling: [{item.Value.TotallingVarietyCode}] {item.Value.TotallingVariety} | Sizing: {item.Value.SizingProfileName} | Start {item.Value.StartTime} | End {item.Value.EndTime}");
+ }
IcoelSizer.MettiLottoInCoda();
- IcoelSizer.VerificaLottoCorrente();
+ IcoelSizer.GetCurrentBatch();
Console.WriteLine("Done.");
Console.ReadKey();
@@ -50,5 +52,46 @@ namespace EgwProxy.Icoel.Test
Console.ReadKey();
}
}
+
+
+ ///
+ /// Generazione di una list di info sui dati variety
+ ///
+ ///
+ ///
+ internal static void DisplayVarietyLayout(Dictionary varietyData)
+ {
+
+ foreach (var item in varietyData)
+ {
+ Console.WriteLine("--------------------------");
+ Console.WriteLine($"Variety Id: {item.Key.Id} | Variety Name: {item.Key.Name}");
+ Console.WriteLine(" - Qualities");
+ foreach (var quality in item.Key.Qualities)
+ {
+ Console.WriteLine($" Name: {quality.Name}");
+ }
+ Console.WriteLine(" - Grades");
+ foreach (var grade in item.Key.Grades)
+ {
+ Console.WriteLine($" Name: {grade.Name}");
+ }
+ Console.WriteLine(" - Sizes");
+ foreach (var size in item.Key.SizingMaps)
+ {
+ Console.WriteLine($" Name: {size.Name}");
+ }
+ Console.WriteLine(" - LAYOUTS");
+ foreach (var layout in item.Value)
+ {
+ Console.WriteLine($" Id: {layout.Id} | Name: {layout.Name}");
+ Console.WriteLine(" - Products");
+ foreach (var product in layout.Products)
+ {
+ Console.WriteLine($" Id: {product.Id} | Name: {product.Name} | DisplayName: {product.DisplayName} | Pack: {product.Pack}");
+ }
+ }
+ }
+ }
}
}
diff --git a/EgwProxy.Icoel/Compac/ComClient.cs b/EgwProxy.Icoel/Compac/ComClient.cs
index a032d163..ac32c711 100644
--- a/EgwProxy.Icoel/Compac/ComClient.cs
+++ b/EgwProxy.Icoel/Compac/ComClient.cs
@@ -5,7 +5,7 @@ using System.ServiceModel;
namespace EgwProxy.Icoel.Compac
{
- public class ComClient
+ public class ComClient:IDisposable
{
#region Public Constructors
@@ -38,6 +38,7 @@ namespace EgwProxy.Icoel.Compac
SSClient = new SizerServiceClient("WSHttpBinding_ISizerService", epa);
}
+
#endregion Public Constructors
#region Public Properties
@@ -151,6 +152,14 @@ namespace EgwProxy.Icoel.Compac
}
}
+ ///
+ /// Dispose dell'oggetto
+ ///
+ public void Dispose()
+ {
+ Close();
+ }
+
#endregion Internal Methods
#region Private Properties
diff --git a/EgwProxy.Icoel/Connector.cs b/EgwProxy.Icoel/Connector.cs
index 081d6365..c1b2c66b 100644
--- a/EgwProxy.Icoel/Connector.cs
+++ b/EgwProxy.Icoel/Connector.cs
@@ -24,45 +24,23 @@ namespace EgwProxy.Icoel
#region Public Methods
-
- public List DisplayVarietyLayout(Variety[] varietiesList)
+ ///
+ /// Restituisce un dictionary di layout validi x un array di varietà fornito
+ ///
+ ///
+ ///
+ public Dictionary GetLayoutForVarietyList(Variety[] varietiesList)
{
- List outVal = new List();
+ Dictionary outVal = new Dictionary();
if (Client == null || !Client.connected)
{
Client = new ComClient(ipAddress, tcpPort);
}
foreach (var item in varietiesList)
{
- outVal.Add("--------------------------");
- outVal.Add($"Variety Id: {item.Id} | Variety Name: {item.Name}");
- outVal.Add(" - Qualities");
- foreach (var quality in item.Qualities)
- {
- outVal.Add($" Name: {quality.Name}");
- }
- outVal.Add(" - Grades");
- foreach (var grade in item.Grades)
- {
- outVal.Add($" Name: {grade.Name}");
- }
- outVal.Add(" - Sizes");
- foreach (var size in item.SizingMaps)
- {
- outVal.Add($" Name: {size.Name}");
- }
// recupero layout della varietà
var layoutList = Client.GetLayouts(item.Id);
- outVal.Add(" - LAYOUTS");
- foreach (var layout in layoutList)
- {
- outVal.Add($" Id: {layout.Id} | Name: {layout.Name}");
- outVal.Add(" - Products");
- foreach (var product in layout.Products)
- {
- outVal.Add($" Id: {product.Id} | Name: {product.Name} | DisplayName: {product.DisplayName} | Pack: {product.Pack}");
- }
- }
+ outVal.Add(item, layoutList);
}
// chiudo se fosse rimasto aperto
Client.Close();
@@ -71,6 +49,51 @@ namespace EgwProxy.Icoel
return outVal;
}
+ ///
+ /// Restituisce un dictionary di varietà e relativi layout
+ ///
+ ///
+ ///
+ public Dictionary GetLayoutAndVariety()
+ {
+ Dictionary outVal = new Dictionary();
+ if (Client == null || !Client.connected)
+ {
+ Client = new ComClient(ipAddress, tcpPort);
+ }
+ Variety[] varietiesList = Client.GetActiveVarieties();
+ foreach (var item in varietiesList)
+ {
+ // recupero layout della varietà
+ var layoutList = Client.GetLayouts(item.Id);
+ outVal.Add(item, layoutList);
+ }
+ // chiudo se fosse rimasto aperto
+ Client.Close();
+
+ // restituisco dati
+ return outVal;
+ }
+
+ ///
+ /// Restituisce elenco delel Variety
+ ///
+ ///
+ public Variety[] GetVarietyList()
+ {
+ //Client = new CompacClient(Settaggi.IndirizzoIpSizer, Settaggi.SizerTcpPort);
+ if (Client == null || !Client.connected)
+ {
+ Client = new ComClient(ipAddress, tcpPort);
+ }
+ Variety[] varietiesList;
+ varietiesList = Client.GetActiveVarieties();
+ Client.Close();
+
+ return varietiesList;
+ }
+
+
public void MettiLottoInCoda()
{
Client = new ComClient(ipAddress, tcpPort);
@@ -78,7 +101,7 @@ namespace EgwProxy.Icoel
Client.VerificaEsistenzaGrower(Details.GrowerCode, Details.GrowerName);
// recupero varietà x selezione
- var varList = RecuperaVarietyLayout();
+ var varList = GetVarietyList();
int idxVar = -1;
int idxLay = -1;
@@ -89,7 +112,9 @@ namespace EgwProxy.Icoel
Console.WriteLine("--------------------");
Console.WriteLine("Varietà disponibili:");
Console.WriteLine("--------------------");
- DisplayVarietyLayout(varList);
+#if false
+ DisplayVarietyLayout(varList);
+#endif
// chiedo di selezionare
while (idxVar <= 0)
{
@@ -155,32 +180,30 @@ namespace EgwProxy.Icoel
Client.Close();
}
- public Variety[] RecuperaVarietyLayout()
+
+ public Dictionary GetCurrentBatch()
{
- //Client = new CompacClient(Settaggi.IndirizzoIpSizer, Settaggi.SizerTcpPort);
- if (Client == null || !Client.connected)
+ Dictionary outVal = new Dictionary();
+
+ using (var cClient = new ComClient(ipAddress, tcpPort))
{
- Client = new ComClient(ipAddress, tcpPort);
- }
- Variety[] varietiesList;
- varietiesList = Client.GetActiveVarieties();
- Client.Close();
- return varietiesList;
- }
-
- public void VerificaLottoCorrente()
- {
+#if false
Client = new ComClient(ipAddress, tcpPort);
+#endif
- //Client.GetCurrentBatch();
- var batch = Client.GetCurrentBatchByLane(1);
- Console.WriteLine($"[1-SX] Grower code: {batch.GrowerCode} | Layout Name: {batch.LayoutName} | Totalling: [{batch.TotallingVarietyCode}] {batch.TotallingVariety} | Sizing: {batch.SizingProfileName} | Start {batch.StartTime} | End {batch.EndTime}");
+ //Client.GetCurrentBatch();
+ for (int i = 1; i <= 2; i++)
+ {
+ var batch = Client.GetCurrentBatchByLane(i);
+ outVal.Add(i, batch);
+ }
- batch = Client.GetCurrentBatchByLane(2);
- Console.WriteLine($"[2-DX] Grower code: {batch.GrowerCode} | Layout Name: {batch.LayoutName} | Totalling: [{batch.TotallingVarietyCode}] {batch.TotallingVariety} | Sizing: {batch.SizingProfileName} | Start {batch.StartTime} | End {batch.EndTime}");
-
- Client.Close();
+#if false
+ Client.Close();
+#endif
+ }
+ return outVal;
}
#endregion Public Methods