Update ComClient
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Generazione di una list di info sui dati variety
|
||||
/// </summary>
|
||||
/// <param name="varietiesList"></param>
|
||||
/// <returns></returns>
|
||||
internal static void DisplayVarietyLayout(Dictionary<Variety, Layout[]> 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}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dispose dell'oggetto
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion Internal Methods
|
||||
|
||||
#region Private Properties
|
||||
|
||||
+75
-52
@@ -24,45 +24,23 @@ namespace EgwProxy.Icoel
|
||||
|
||||
#region Public Methods
|
||||
|
||||
|
||||
public List<string> DisplayVarietyLayout(Variety[] varietiesList)
|
||||
/// <summary>
|
||||
/// Restituisce un dictionary di layout validi x un array di varietà fornito
|
||||
/// </summary>
|
||||
/// <param name="varietiesList"></param>
|
||||
/// <returns></returns>
|
||||
public Dictionary<Variety, Layout[]> GetLayoutForVarietyList(Variety[] varietiesList)
|
||||
{
|
||||
List<string> outVal = new List<string>();
|
||||
Dictionary<Variety, Layout[]> outVal = new Dictionary<Variety, Layout[]>();
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce un dictionary di varietà e relativi layout
|
||||
/// </summary>
|
||||
/// <param name="varietiesList"></param>
|
||||
/// <returns></returns>
|
||||
public Dictionary<Variety, Layout[]> GetLayoutAndVariety()
|
||||
{
|
||||
Dictionary<Variety, Layout[]> outVal = new Dictionary<Variety, Layout[]>();
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce elenco delel Variety
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
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<int, Batch> GetCurrentBatch()
|
||||
{
|
||||
//Client = new CompacClient(Settaggi.IndirizzoIpSizer, Settaggi.SizerTcpPort);
|
||||
if (Client == null || !Client.connected)
|
||||
Dictionary<int, Batch> outVal = new Dictionary<int, Batch>();
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user