Aggiunta proxy iniziale:
- FTP - Gomba - Icoel - MultiCcn - OSAI - SqlDB
This commit is contained in:
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
|
</startup>
|
||||||
|
<appSettings>
|
||||||
|
<add key="testFile" value="conf/testSetup.json" />
|
||||||
|
<add key="server" value="ftp.steamware.net" />
|
||||||
|
<add key="userName" value="testftpuser" />
|
||||||
|
<add key="passwd" value="we4reFromB3rghem!" />
|
||||||
|
<add key="rawCert" value="" />
|
||||||
|
<add key="skipCert" value="true" />
|
||||||
|
<add key="ClientSettingsProvider.ServiceUri" value="" />
|
||||||
|
</appSettings>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-3.1.32.0" newVersion="3.1.32.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
<system.web>
|
||||||
|
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||||
|
<providers>
|
||||||
|
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
|
||||||
|
</providers>
|
||||||
|
</membership>
|
||||||
|
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
||||||
|
<providers>
|
||||||
|
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
|
||||||
|
</providers>
|
||||||
|
</roleManager>
|
||||||
|
</system.web>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{A655A6AC-5997-46F9-9752-8C621B80516C}</ProjectGuid>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<RootNamespace>EgwProxy.Ftp.Test</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Ftp.Test</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="FluentFTP, Version=51.1.0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\FluentFTP.51.1.0\lib\net462\FluentFTP.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=3.1.32.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.32\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Web.Extensions" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="TestSetup.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
<None Include="conf\testSetup-ftp.steamware.net.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Include="conf\testSetup.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Include="conf\.placeholder" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="test\FileProva.txt">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="temp\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\EgwProxy.Ftp\EgwProxy.Ftp.csproj">
|
||||||
|
<Project>{35d95ed8-e48a-434d-a305-a83e48c8fc6f}</Project>
|
||||||
|
<Name>EgwProxy.Ftp</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,513 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static System.Net.Mime.MediaTypeNames;
|
||||||
|
|
||||||
|
namespace EgwProxy.Ftp.Test
|
||||||
|
{
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
#region Protected Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// legge conf in formato stringa
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected static string ReadSetting(string key)
|
||||||
|
{
|
||||||
|
string answ = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = $"{ConfigurationManager.AppSettings[key]}" ?? "";
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.Write("Eccezione in ReadSettings");
|
||||||
|
Console.Write(exc.Message);
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Protected Methods
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Helper separatore dash
|
||||||
|
/// </summary>
|
||||||
|
private const string separator = "------------------------";
|
||||||
|
|
||||||
|
private static Stopwatch sw = new Stopwatch();
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Programma principale
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="args"></param>
|
||||||
|
private static void Main(string[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine("Test FTP Client");
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine();
|
||||||
|
string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location;
|
||||||
|
string BaseDirectory = System.IO.Path.GetDirectoryName(exePath);
|
||||||
|
string testFile = Path.Combine(BaseDirectory, ReadSetting("testFile"));
|
||||||
|
Manager ftpClient = new Manager("", "", "", "", false);
|
||||||
|
if (!string.IsNullOrEmpty(testFile))
|
||||||
|
{
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine($"Mode json ({testFile})");
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine();
|
||||||
|
if (File.Exists(testFile))
|
||||||
|
{
|
||||||
|
var rawData = File.ReadAllText(testFile);
|
||||||
|
if (!string.IsNullOrEmpty(rawData))
|
||||||
|
{
|
||||||
|
TestSetup testConf = new TestSetup();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
testConf = JsonConvert.DeserializeObject<TestSetup>(rawData);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
// setup server
|
||||||
|
ftpClient = new Manager(testConf.server, testConf.user, testConf.password, testConf.rawCert, testConf.skipCert);
|
||||||
|
serverTest(ftpClient);
|
||||||
|
|
||||||
|
bool doRepeat = true;
|
||||||
|
while (doRepeat)
|
||||||
|
{
|
||||||
|
// eseguo per ogni step
|
||||||
|
foreach (var item in testConf.steps)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"------ Step {item.id} | {item.description} ------");
|
||||||
|
string esitoStep = "";
|
||||||
|
switch (item.action)
|
||||||
|
{
|
||||||
|
case stepType.checkDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string dir2check = item.paramList[0];
|
||||||
|
var dirCheckExists = ftpClient.DirExists(dir2check);
|
||||||
|
esitoStep = dirCheckExists ? $"Directory {dir2check} found!" : $"Directory {dir2check} NOT found!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.checkFile:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string file2check = item.paramList[0];
|
||||||
|
var dirCheckExists = ftpClient.FileExists(file2check);
|
||||||
|
esitoStep = dirCheckExists ? $"File {file2check} found!" : $"File {file2check} NOT found!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.createDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string dir2check = item.paramList[0];
|
||||||
|
var preTest = ftpClient.DirExists(dir2check);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
esitoStep = "Error: Folder already exists!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var dirCreate = ftpClient.CreateDir(dir2check);
|
||||||
|
esitoStep = dirCreate ? $"Directory {dir2check} created!" : $"Error: {dir2check} NOT created!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.delDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string dir2check = item.paramList[0];
|
||||||
|
var preTest = ftpClient.DirExists(dir2check);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var dirDelete = ftpClient.DeleteDir(dir2check);
|
||||||
|
esitoStep = dirDelete ? $"Directory {dir2check} deleted!" : $"Error: {dir2check} NOT deleted!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: Folder doesn't exists, delete not possible!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.delFile:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string file2check = item.paramList[0];
|
||||||
|
var preTest = ftpClient.FileExists(file2check);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var dirDelete = ftpClient.DeleteFile(file2check);
|
||||||
|
esitoStep = dirDelete ? $"File {file2check} deleted!" : $"Error: {file2check} NOT deleted!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: File doesn't exists, delete not possible!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.downloadDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
string dir2check = item.paramList[0];
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[1]);
|
||||||
|
var preTest = ftpClient.DirExists(dir2check);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var dirDelete = ftpClient.GetDir(localDir, dir2check);
|
||||||
|
esitoStep = dirDelete ? $"Directory {dir2check} downloaded!" : $"Error: {dir2check} NOT downloaded!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: Folder doesn't exists, download not possible!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.downloadFile:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
string dir2check = item.paramList[0];
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[1]);
|
||||||
|
var preTest = ftpClient.DirExists(dir2check);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var dirDelete = ftpClient.GetDir(localDir, dir2check);
|
||||||
|
esitoStep = dirDelete ? $"Directory {dir2check} downloaded!" : $"Error: {dir2check} NOT downloaded!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: Folder doesn't exists, download not possible!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.uploadDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
string remoteDir = item.paramList[0];
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[1]);
|
||||||
|
var dirUploaded = ftpClient.SendDir(localDir, remoteDir);
|
||||||
|
esitoStep = dirUploaded ? $"Directory {remoteDir} uploaded!" : $"Error: {remoteDir} NOT uploaded!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.uploadFile:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
string remotePath = item.paramList[0];
|
||||||
|
string localPath = Path.Combine(BaseDirectory, item.paramList[1]);
|
||||||
|
var fileUploaded = ftpClient.SendFile(localPath, remotePath);
|
||||||
|
esitoStep = fileUploaded ? $"File {remotePath} uploaded!" : $"Error: {remotePath} NOT uploaded!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.listContent:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
string remoteDir = item.paramList[0];
|
||||||
|
var preTest = ftpClient.DirExists(remoteDir);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var listResult = ftpClient.ListDir(remoteDir, false);
|
||||||
|
Console.WriteLine($"Content of dir {remoteDir}:");
|
||||||
|
foreach (var itemList in listResult)
|
||||||
|
{
|
||||||
|
Console.WriteLine(itemList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: Folder doesn't exists, list not possible!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameter!";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.genRandomDir:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 0)
|
||||||
|
{
|
||||||
|
sw.Restart();
|
||||||
|
// crea una struttura ricorsiva di 3 livelli con 20 file
|
||||||
|
// con contenuto random ogni livello
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[0]);
|
||||||
|
if (!Directory.Exists(localDir))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(localDir);
|
||||||
|
}
|
||||||
|
// ora vado a creare 3 livelli di folder
|
||||||
|
int numDepth = 3;
|
||||||
|
int numFile = 20;
|
||||||
|
int numRows = 1000;
|
||||||
|
string baseDir = localDir;
|
||||||
|
for (int iDir = 0; iDir < numDepth; iDir++)
|
||||||
|
{
|
||||||
|
DateTime adesso = DateTime.Now;
|
||||||
|
string newSub = $"{adesso:HHmmss_fff}";
|
||||||
|
// sposto puntamento folder...
|
||||||
|
baseDir = Path.Combine(baseDir, newSub);
|
||||||
|
if (!Directory.Exists(baseDir))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(baseDir);
|
||||||
|
}
|
||||||
|
for (int iFile = 0; iFile < numFile; iFile++)
|
||||||
|
{
|
||||||
|
string filePath = Path.Combine(baseDir, $"File_{iFile:000}.txt");
|
||||||
|
using (StreamWriter writer = new StreamWriter(filePath))
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
// compongo un testo di numRow righe da GUID...
|
||||||
|
for (int i = 0; i < numRows; i++)
|
||||||
|
{
|
||||||
|
var newId = Guid.NewGuid();
|
||||||
|
sb.AppendLine($"{DateTime.Now:HH:mm:ss.ffffff} | {newId} | {newId}");
|
||||||
|
}
|
||||||
|
writer.WriteLine(sb.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sw.Stop();
|
||||||
|
esitoStep = $"Completata generazione test data: {sw.ElapsedMilliseconds:N1} ms";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.mirrorDirL2R:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
sw.Restart();
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[0]);
|
||||||
|
string remoteDir = item.paramList[1];
|
||||||
|
var preTest = ftpClient.DirExists(remoteDir);
|
||||||
|
if (!preTest)
|
||||||
|
{
|
||||||
|
ftpClient.CreateDir(remoteDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
var mirrorDone = ftpClient.SendDir(localDir, remoteDir, FluentFTP.FtpFolderSyncMode.Mirror);
|
||||||
|
esitoStep = mirrorDone ? $"Directory {localDir} mirrored L2R!" : $"Error: {remoteDir} NOT mirrored!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
sw.Stop();
|
||||||
|
esitoStep = $"Completato mirror L2R: {sw.ElapsedMilliseconds:N1} ms";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.mirrorDirR2L:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
sw.Restart();
|
||||||
|
string remoteDir = item.paramList[0];
|
||||||
|
string localDir = Path.Combine(BaseDirectory, item.paramList[1]);
|
||||||
|
var preTest = ftpClient.DirExists(remoteDir);
|
||||||
|
if (preTest)
|
||||||
|
{
|
||||||
|
var mirrorDone = ftpClient.GetDir(localDir, remoteDir, FluentFTP.FtpFolderSyncMode.Mirror);
|
||||||
|
esitoStep = mirrorDone ? $"Directory {remoteDir} mirrored R2L!" : $"Error: {remoteDir} NOT mirrored!";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Dir remota non trovata!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
sw.Stop();
|
||||||
|
esitoStep = $"Completato mirror R2L: {sw.ElapsedMilliseconds:N1} ms";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case stepType.delFileList:
|
||||||
|
if (item.paramList != null && item.paramList.Count > 1)
|
||||||
|
{
|
||||||
|
sw.Restart();
|
||||||
|
string remoteDir = item.paramList[0];
|
||||||
|
string fileSearch= item.paramList[1];
|
||||||
|
List<FluentFTP.FtpListItem> resList = ftpClient.GetRemoteList(remoteDir, true);
|
||||||
|
// cerco solo i file di tipo fileSearch
|
||||||
|
List<FluentFTP.FtpListItem> resListFilt = new List<FluentFTP.FtpListItem>();
|
||||||
|
foreach (var flItem in resList)
|
||||||
|
{
|
||||||
|
if(flItem.Type == FluentFTP.FtpObjectType.File && flItem.Name.EndsWith(fileSearch))
|
||||||
|
{
|
||||||
|
resListFilt.Add(flItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// elimino quelli trovati
|
||||||
|
if (resListFilt.Count>0)
|
||||||
|
{
|
||||||
|
var fList = resListFilt.Select(x => x.FullName).ToList();
|
||||||
|
var numDel = ftpClient.DeleteFileList(fList);
|
||||||
|
// indico esito eliminazione
|
||||||
|
esitoStep = $"Eliminati {numDel}/{resListFilt.Count} file";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "File non trovati!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
esitoStep = "Error: missing parameters!";
|
||||||
|
}
|
||||||
|
sw.Stop();
|
||||||
|
esitoStep += $"{Environment.NewLine}Completato GetRemotList : {sw.ElapsedMilliseconds:N1} ms";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine(esitoStep);
|
||||||
|
Console.WriteLine($"------ Done Step {item.id} ------");
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Press a key to continue...");
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Do you want to repeat from the beginnning? esc to close");
|
||||||
|
ConsoleKeyInfo answ = Console.ReadKey();
|
||||||
|
doRepeat = answ.Key != ConsoleKey.Escape;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// test base su server steamware
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine("Mode: base");
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
string sSkipCert = ReadSetting("skipCert");
|
||||||
|
bool skipCert = false;
|
||||||
|
bool.TryParse(sSkipCert, out skipCert);
|
||||||
|
ftpClient = new Manager(ReadSetting("server"), ReadSetting("userName"), ReadSetting("passwd"), ReadSetting("rawCert"), skipCert);
|
||||||
|
serverTest(ftpClient);
|
||||||
|
|
||||||
|
Console.WriteLine("--- Folder ---");
|
||||||
|
var testExists = ftpClient.DirExists($"data/test_folder");
|
||||||
|
if (testExists)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Folder already exists!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("--- Create folder ---");
|
||||||
|
var testCreate = ftpClient.CreateDir($"data/test_folder");
|
||||||
|
Console.WriteLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Contenuto folder remota: ");
|
||||||
|
var folderContent = ftpClient.ListDir("data/", true);
|
||||||
|
foreach (var item in folderContent)
|
||||||
|
{
|
||||||
|
Console.WriteLine(item);
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
Console.ReadKey();
|
||||||
|
|
||||||
|
Console.WriteLine("--- Upload file ---");
|
||||||
|
ftpClient.SendFile("test/FileProva.txt", "data/test_folder/FileProva.txt");
|
||||||
|
Console.WriteLine("Contenuto folder remota: ");
|
||||||
|
folderContent = ftpClient.ListDir("data/", true);
|
||||||
|
foreach (var item in folderContent)
|
||||||
|
{
|
||||||
|
Console.WriteLine(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
Console.ReadKey();
|
||||||
|
|
||||||
|
Console.WriteLine("--- Download File ---");
|
||||||
|
|
||||||
|
ftpClient.GetFile("test/FileProva_02.txt", "data/test_folder/FileProva.txt");
|
||||||
|
Console.WriteLine("Contenuto folder remota: ");
|
||||||
|
folderContent = ftpClient.ListDir("data/", true);
|
||||||
|
foreach (var item in folderContent)
|
||||||
|
{
|
||||||
|
Console.WriteLine(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void serverTest(Manager ftpClient)
|
||||||
|
{
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
var testServer = ftpClient.ServerOk();
|
||||||
|
Console.WriteLine($"Test connessione: esito {testServer}");
|
||||||
|
var srvType = ftpClient.ServerType();
|
||||||
|
Console.WriteLine($"Server: {srvType}");
|
||||||
|
Console.WriteLine(separator);
|
||||||
|
Console.WriteLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Private Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Ftp.Test")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Ftp.Test")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("a655a6ac-5997-46f9-9752-8c621b80516c")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgwProxy.Ftp.Test
|
||||||
|
{
|
||||||
|
public class TestSetup
|
||||||
|
{
|
||||||
|
public string server { get; set; } = "";
|
||||||
|
public string user { get; set; } = "";
|
||||||
|
public string password { get; set; } = "";
|
||||||
|
public string rawCert { get; set; } = "";
|
||||||
|
public bool skipCert { get; set; } = false;
|
||||||
|
public List<singleStep> steps { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class singleStep
|
||||||
|
{
|
||||||
|
public string id { get; set; } = "00";
|
||||||
|
public string description { get; set; } = "00";
|
||||||
|
public stepType action { get; set; } = stepType.checkDir;
|
||||||
|
|
||||||
|
public List<string> paramList { get; set; } = new List<string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum stepType
|
||||||
|
{
|
||||||
|
checkDir,
|
||||||
|
checkFile,
|
||||||
|
createDir,
|
||||||
|
delDir,
|
||||||
|
delFile,
|
||||||
|
delFileList,
|
||||||
|
downloadDir,
|
||||||
|
downloadFile,
|
||||||
|
genRandomDir,
|
||||||
|
listContent,
|
||||||
|
mirrorDirL2R,
|
||||||
|
mirrorDirR2L,
|
||||||
|
uploadDir,
|
||||||
|
uploadFile
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"server": "ftp.steamware.net",
|
||||||
|
"user": "testftpuser",
|
||||||
|
"password": "we4reFromB3rghem!",
|
||||||
|
"rawCert": "",
|
||||||
|
"skipCert": true,
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"id": "01",
|
||||||
|
"description": "Test base directory",
|
||||||
|
"action": "checkDir",
|
||||||
|
"paramList": [
|
||||||
|
"data/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "02",
|
||||||
|
"description": "Create directory",
|
||||||
|
"action": "createDir",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "03",
|
||||||
|
"description": "Upload File",
|
||||||
|
"action": "uploadFile",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/FileProva.txt",
|
||||||
|
"test/FileProva.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "04",
|
||||||
|
"description": "Browse Directory",
|
||||||
|
"action": "listContent",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "05",
|
||||||
|
"description": "Upload File",
|
||||||
|
"action": "uploadFile",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/FileProva_02.txt",
|
||||||
|
"test/FileProva.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "06",
|
||||||
|
"description": "Browse Directory",
|
||||||
|
"action": "listContent",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "07",
|
||||||
|
"description": "Download Directory",
|
||||||
|
"action": "downloadDir",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/",
|
||||||
|
"temp/mirror"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "08",
|
||||||
|
"description": "Delete Remote Directory",
|
||||||
|
"action": "delDir",
|
||||||
|
"paramList": [
|
||||||
|
"data/test_directory/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"server": "egw-tscale-04",
|
||||||
|
"user": "testftpuser",
|
||||||
|
"password": "we4reFromB3rghem!",
|
||||||
|
"rawCert": "",
|
||||||
|
"skipCert": true,
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"id": "01",
|
||||||
|
"description": "Generate Local Folder Data",
|
||||||
|
"action": "delFileList",
|
||||||
|
"paramList": [
|
||||||
|
"ftpdata/syncfolder/",
|
||||||
|
"File_000.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
//{
|
||||||
|
// "id": "02",
|
||||||
|
// "description": "Mirror Local 2 Remote Directory",
|
||||||
|
// "action": "mirrorDirL2R",
|
||||||
|
// "paramList": [
|
||||||
|
// "temp\\localsource",
|
||||||
|
// "ftpdata/syncfolder"
|
||||||
|
// ]
|
||||||
|
//},
|
||||||
|
{
|
||||||
|
"id": "03",
|
||||||
|
"description": "Mirror Remote 2 Local Directory",
|
||||||
|
"action": "mirrorDirR2L",
|
||||||
|
"paramList": [
|
||||||
|
"ftpdata/syncfolder",
|
||||||
|
"temp\\localdest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
//{
|
||||||
|
// "id": "04",
|
||||||
|
// "description": "Delete Remote Directory",
|
||||||
|
// "action": "delDir",
|
||||||
|
// "paramList": [
|
||||||
|
// "ftpdata/syncfolder"
|
||||||
|
// ]
|
||||||
|
//}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="FluentFTP" version="51.1.0" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.32" targetFramework="net462" />
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
File di prova
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{35D95ED8-E48A-434D-A305-A83E48C8FC6F}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>EgwProxy.Ftp</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Ftp</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="FluentFTP, Version=51.1.0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\FluentFTP.51.1.0\lib\net462\FluentFTP.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=3.1.32.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.32\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NLog.5.3.1\lib\net46\NLog.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Manager.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,530 @@
|
|||||||
|
using FluentFTP;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net.Security;
|
||||||
|
|
||||||
|
namespace EgwProxy.Ftp
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Client per operazioni FTP, basato su FluentFTP: https://github.com/robinrodricks/FluentFTP https://github.com/robinrodricks/FluentFTP/wiki/Quick-Start-Example
|
||||||
|
/// </summary>
|
||||||
|
public class Manager
|
||||||
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inizializzazione di oggetto per comunicazione FTP
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="server"></param>
|
||||||
|
/// <param name="userName"></param>
|
||||||
|
/// <param name="passwd"></param>
|
||||||
|
/// <param name="rawCert"></param>
|
||||||
|
/// <param name="skipCert"></param>
|
||||||
|
public Manager(string server, string userName, string passwd, string rawCert, bool skipCert)
|
||||||
|
{
|
||||||
|
_server = server;
|
||||||
|
_userName = userName;
|
||||||
|
_passwd = passwd;
|
||||||
|
_skipCert = skipCert;
|
||||||
|
_rawCert = rawCert;
|
||||||
|
if (!string.IsNullOrEmpty(server))
|
||||||
|
{
|
||||||
|
// se ho user/pwd è autenticato...
|
||||||
|
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passwd))
|
||||||
|
{
|
||||||
|
client = new FtpClient(server, userName, passwd);
|
||||||
|
}
|
||||||
|
//.. altrimenti anonimo...
|
||||||
|
else
|
||||||
|
{
|
||||||
|
client = new FtpClient(server);
|
||||||
|
}
|
||||||
|
client.Config.RetryAttempts = 3;
|
||||||
|
IsConfigured = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
public bool IsConfigured { get; set; } = false;
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creazione directory remota
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteDir">Nome directory remota da creare (ad es: @"/public_html/videos")</param>
|
||||||
|
public bool CreateDir(string remoteDir)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// upload della folder + files, cancellazione extra files = mirroring
|
||||||
|
answ = client.CreateDirectory(remoteDir);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in CreateDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Eliminazionedirectory remota
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteDir">Nome directory remota da eliminare</param>
|
||||||
|
public bool DeleteDir(string remoteDir)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// Elimina folder
|
||||||
|
client.DeleteDirectory(remoteDir);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in DeleteDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Eliminazione file remoto
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteFile">Nome file remoto da eliminare</param>
|
||||||
|
public bool DeleteFile(string remoteFile)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
tryConnect();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Elimina folder
|
||||||
|
client.DeleteFile(remoteFile);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in DeleteFile{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Eliminazione lista di files remoti
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remFileList">Lista file remoti da eliminare</param>
|
||||||
|
public int DeleteFileList(List<string> remFileList)
|
||||||
|
{
|
||||||
|
int numDone = 0;
|
||||||
|
tryConnect();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var remoteFile in remFileList)
|
||||||
|
{
|
||||||
|
// Elimina folder
|
||||||
|
client.DeleteFile(remoteFile);
|
||||||
|
// verifico se sia presente...
|
||||||
|
bool fExist = client.FileExists(remoteFile);
|
||||||
|
if (!fExist)
|
||||||
|
{
|
||||||
|
numDone++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in DeleteFileList{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return numDone;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica esistenza directory su server FTP remoto
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remotePath">Percorso remoto da testare (ad es "/htdocs/extras/")</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool DirExists(string remotePath)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
answ = client.DirectoryExists(remotePath);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in DirExists{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// c chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica esistenza file su server FTP remoto
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remotePath">Percorso remoto da testare (ad es "/htdocs/big2.txt")</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool FileExists(string remotePath)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
answ = client.FileExists(remotePath);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in FileExists{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Scaricamento intera directory, modalità MIRROR
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||||
|
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="syncMode">Modalità di sync (default = mirror)</param>
|
||||||
|
public bool GetDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// download della folder secondo modalità sync
|
||||||
|
var result = client.DownloadDirectory(localDir, remoteDir, syncMode);
|
||||||
|
//answ = (result != null && result.Count > 0);
|
||||||
|
answ = result != null && result.Where(x => !x.IsSuccess).Count() == 0;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in GetDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Download singolo file
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fileName">Path locale del file da inviare (ad es: @"C:\MyVideo.mp4")</param>
|
||||||
|
/// <param name="remoteName">NOme remoto file per caricamento (ad es: "/htdocs/MyVideo.mp4")</param>
|
||||||
|
public bool GetFile(string fileName, string remoteName)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// effettuo caricamento puntuale
|
||||||
|
var result = client.DownloadFile(fileName, remoteName);
|
||||||
|
answ = result == FtpStatus.Success;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in GetFile{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra contenuto directory remota
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteDir">Nome directory remota da leggere con (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="recurse">Indica se fare search ricorsivo</param>
|
||||||
|
public List<FtpListItem> GetRemoteList(string remoteDir, bool recurse)
|
||||||
|
{
|
||||||
|
List<FtpListItem> answ = new List<FtpListItem>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// recupero listing remoto directory
|
||||||
|
FtpListItem[] dirContent;
|
||||||
|
if (recurse)
|
||||||
|
{
|
||||||
|
dirContent = client.GetListing(remoteDir, FtpListOption.Recursive);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dirContent = client.GetListing(remoteDir);
|
||||||
|
}
|
||||||
|
answ = dirContent.ToList();
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in GetRemoteList{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
client.Disconnect();
|
||||||
|
// chiudo!
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra contenuto directory remota
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteDir">Nome directory remota da leggere (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="recurse">Indica se fare search ricorsivo</param>
|
||||||
|
public List<string> ListDir(string remoteDir, bool recurse)
|
||||||
|
{
|
||||||
|
List<string> answ = new List<string>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
// upload della folder + files, cancellazione extra files = mirroring
|
||||||
|
FtpListItem[] dirContent;
|
||||||
|
if (recurse)
|
||||||
|
{
|
||||||
|
dirContent = client.GetListing(remoteDir, FtpListOption.Recursive);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dirContent = client.GetListing(remoteDir);
|
||||||
|
}
|
||||||
|
answ = dirContent.Select(x => $"{x.Type} - {x.Name}").ToList();
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in ListDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
client.Disconnect();
|
||||||
|
// chiudo!
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Caricamento intera directory, modalità MIRROR
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||||
|
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="syncMode">Modalità di sync (default = mirror)</param>
|
||||||
|
public List<FtpResult> MirrorLocalDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror)
|
||||||
|
{
|
||||||
|
List<FtpResult> jobResult = new List<FtpResult>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
jobResult = client.UploadDirectory(localDir, remoteDir, syncMode);
|
||||||
|
//answ = (result != null && result.Count > 0);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in MirrorLocalDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return jobResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Scaricamento intera directory, modalità MIRROR, con restituzione elenco esiti
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||||
|
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="syncMode">Modalità di sync (default = mirror)</param>
|
||||||
|
public List<FtpResult> MirrorRemoteDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror)
|
||||||
|
{
|
||||||
|
List<FtpResult> jobResult = new List<FtpResult>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
jobResult = client.DownloadDirectory(localDir, remoteDir, syncMode);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in mirrorRemoteDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return jobResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Caricamento intera directory, modalità MIRROR
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||||
|
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||||
|
/// <param name="syncMode">Modalità di sync (default = mirror)</param>
|
||||||
|
public bool SendDir(string localDir, string remoteDir, FtpFolderSyncMode syncMode = FtpFolderSyncMode.Mirror)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
//var result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpRemoteExists.OverwriteInPlace, FtpVerify.Retry);
|
||||||
|
// upload della folder + files, cancellazione extra files = mirroring
|
||||||
|
var result = client.UploadDirectory(localDir, remoteDir, syncMode);
|
||||||
|
//answ = (result != null && result.Count > 0);
|
||||||
|
answ = result != null && result.Where(x => !x.IsSuccess).Count() == 0;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in SendDir{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Caricamento singolo file
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fileName">Path locale del file da inviare (ad es: @"C:\MyVideo.mp4")</param>
|
||||||
|
/// <param name="remoteName">NOme remoto file per caricamento (ad es: "/htdocs/MyVideo.mp4")</param>
|
||||||
|
public bool SendFile(string fileName, string remoteName)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
tryConnect();
|
||||||
|
// effettuo caricamento puntuale
|
||||||
|
var result = client.UploadFile(fileName, remoteName);
|
||||||
|
answ = result == FtpStatus.Success;
|
||||||
|
// se insuccesso --> controllo se ci sia file...
|
||||||
|
if (!answ)
|
||||||
|
{
|
||||||
|
answ = FileExists(remoteName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in SendFile{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica connessione con server FTP remoto
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool ServerOk()
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
answ = client.IsConnected;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in ServerOk{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce tipo server remoto
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string ServerType()
|
||||||
|
{
|
||||||
|
string answ = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tryConnect();
|
||||||
|
FtpServer srvType = client.ServerType;
|
||||||
|
answ = $"{srvType}";
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in ServerType{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
// chiudo!
|
||||||
|
client.Disconnect();
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
|
||||||
|
#region Protected Fields
|
||||||
|
|
||||||
|
protected bool _skipCert = false;
|
||||||
|
|
||||||
|
#endregion Protected Fields
|
||||||
|
|
||||||
|
#region Protected Properties
|
||||||
|
|
||||||
|
protected string _passwd { get; set; } = "";
|
||||||
|
protected string _rawCert { get; set; } = "";
|
||||||
|
protected string _server { get; set; } = "";
|
||||||
|
protected string _userName { get; set; } = "";
|
||||||
|
|
||||||
|
#endregion Protected Properties
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
|
||||||
|
#region Private Properties
|
||||||
|
|
||||||
|
private FtpClient client { get; set; } = new FtpClient();
|
||||||
|
|
||||||
|
#endregion Private Properties
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
|
private void Client_ValidateCertificate(FluentFTP.Client.BaseClient.BaseFtpClient control, FtpSslValidationEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PolicyErrors == SslPolicyErrors.None || _skipCert || e.Certificate.GetRawCertDataString() == _rawCert)
|
||||||
|
{
|
||||||
|
e.Accept = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.Error($"{e.PolicyErrors}");
|
||||||
|
Log.Error($"Cert:{Environment.NewLine}{e.Certificate}");
|
||||||
|
Log.Error($"RawString:{Environment.NewLine}{e.Certificate.GetRawCertDataString()}");
|
||||||
|
throw new Exception($"{e.PolicyErrors}{Environment.NewLine}{e.Certificate.GetRawCertDataString()}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tryConnect()
|
||||||
|
{
|
||||||
|
// connect to the server and automatically detect working FTP settings
|
||||||
|
if (!client.IsConnected)
|
||||||
|
{
|
||||||
|
var profiles = client.AutoDetect(true, true);
|
||||||
|
#if false
|
||||||
|
// if any profiles are found, print the code to the console
|
||||||
|
if (profiles.Count > 0)
|
||||||
|
{
|
||||||
|
var code = profiles[0].ToCode();
|
||||||
|
Console.WriteLine(code);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
client.ValidateCertificate += Client_ValidateCertificate;
|
||||||
|
client.AutoConnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Private Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Ftp")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Ftp")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("35d95ed8-e48a-434d-a305-a83e48c8fc6f")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-3.1.32.0" newVersion="3.1.32.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"metadata": [
|
||||||
|
{
|
||||||
|
"src": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.csproj",
|
||||||
|
"*.vbproj"
|
||||||
|
],
|
||||||
|
"cwd": ".",
|
||||||
|
"exclude": [
|
||||||
|
"**/obj/**",
|
||||||
|
"**/bin/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dest": "obj/api"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"build": {
|
||||||
|
"content": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"api/**.yml"
|
||||||
|
],
|
||||||
|
"cwd": "obj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"api/*.md",
|
||||||
|
"articles/**.md",
|
||||||
|
"toc.yml",
|
||||||
|
"*.md"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resource": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"images/**"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"overwrite": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"apidoc/**.md"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dest": "_site",
|
||||||
|
"template": [
|
||||||
|
"default"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# EgwProxy.Ftp Library
|
||||||
|
|
||||||
|
Documentazione relativa alla libreria di interfaccia via FTP con server generici.
|
||||||
|
|
||||||
|
Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo
|
||||||
|
|
||||||
|
https://nexus.steamware.net/#browse/browse:nuget-hosted
|
||||||
|
|
||||||
|
Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi.
|
||||||
|
|
||||||
|
## Articles
|
||||||
|
|
||||||
|
Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles
|
||||||
|
|
||||||
|
## Api
|
||||||
|
|
||||||
|
Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="FluentFTP" version="51.1.0" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.32" targetFramework="net462" />
|
||||||
|
<package id="NLog" version="5.3.1" targetFramework="net462" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
- name: Articles
|
||||||
|
href: articles/
|
||||||
|
- name: API Documentation
|
||||||
|
href: obj/api/
|
||||||
|
homepage: api/index.md
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
|
</startup>
|
||||||
|
<system.serviceModel>
|
||||||
|
<bindings>
|
||||||
|
<basicHttpBinding>
|
||||||
|
<binding name="lwpServicePortBinding">
|
||||||
|
<security mode="Transport" />
|
||||||
|
</binding>
|
||||||
|
</basicHttpBinding>
|
||||||
|
</bindings>
|
||||||
|
<client>
|
||||||
|
<endpoint address="https://308gomba:8000/ws" binding="basicHttpBinding"
|
||||||
|
bindingConfiguration="lwpServicePortBinding" contract="GombaServ.lwpService"
|
||||||
|
name="lwpServicePort" />
|
||||||
|
</client>
|
||||||
|
</system.serviceModel>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{2B7F1536-61D1-4F05-AF8D-62A52D114479}</ProjectGuid>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<RootNamespace>EgwProxy.Gomba.Test</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Gomba.Test</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\EgwProxy.Gomba\EgwProxy.Gomba.csproj">
|
||||||
|
<Project>{cc377124-1b94-40c1-b552-d6d42eb2bf27}</Project>
|
||||||
|
<Name>EgwProxy.Gomba</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgwProxy.Gomba.Test
|
||||||
|
{
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
// gestire da conf se saltare certificato
|
||||||
|
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
|
||||||
|
|
||||||
|
string linea = "-----------------------------";
|
||||||
|
Console.WriteLine(linea);
|
||||||
|
Console.WriteLine("Test comunicazione Gomba");
|
||||||
|
Console.WriteLine(linea);
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
string escimi = "N";
|
||||||
|
GombaServ.lwpServiceClient gombaConn;
|
||||||
|
// init proxy SOAP
|
||||||
|
if (false)
|
||||||
|
{
|
||||||
|
//gombaConn = new GombaServ.lwpServiceClient();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//gombaConn = new GombaServ.lwpServiceClient("lwpServicePort", new System.ServiceModel.EndpointAddress("https://172.28.31.56:8000/ws"));
|
||||||
|
gombaConn = new GombaServ.lwpServiceClient("lwpServicePort", new System.ServiceModel.EndpointAddress("https://308gomba:8000/ws"));
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Premere un tasto per iniziare test.");
|
||||||
|
escimi = Console.ReadLine().ToUpper();
|
||||||
|
|
||||||
|
int idxReq = 10;
|
||||||
|
// lettura
|
||||||
|
while (escimi != "E")
|
||||||
|
{
|
||||||
|
string pesata = "";
|
||||||
|
Console.WriteLine($"{linea} {DateTime.Now:HH:mm:ss.fff} {linea}");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string dataFrom = "01/01/2023";
|
||||||
|
string dataTo = DateTime.Today.AddDays(1).ToString("dd/MM/yyyy");
|
||||||
|
var results = gombaConn.reqWeightList("ALL", dataFrom, dataTo);
|
||||||
|
foreach (var item in results)
|
||||||
|
{
|
||||||
|
pesata = $"rm: {item.rm} | DI: {item.dateIn} | DO: {item.dateOut} | BI: {item.balanceIn} | BO: {item.balanceOut} | WI: {item.weightIn} | WO: {item.weightOut} | Feed: {item.feedback} | note: {item.notes}";
|
||||||
|
//pesata = $"rm: {item.rm} | DI: {item.dateIn} | DO: {item.dateOut} | BI: {item.balanceIn} | BO: {item.balanceOut} | WI: {item.weightIn} | WO: {item.weightOut} | net: {item.net} | MI: {item.idMemIn} | MO: {item.idMemOut} | Feed: {item.feedback} | note: {item.notes}";
|
||||||
|
Console.WriteLine(pesata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Errore:{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
Console.WriteLine($"{linea} {DateTime.Now:HH:mm:ss.fff} {linea}");
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Cosa vuoi fare ora? I = pesata IN, O= pesata OUT, E = uscita, altrimenti rilettura");
|
||||||
|
escimi = Console.ReadLine().ToUpper();
|
||||||
|
|
||||||
|
DateTime adesso = DateTime.Now;
|
||||||
|
// invio pesata
|
||||||
|
if (escimi == "I")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var answ = gombaConn.memWeight("IN", $"ODL000000{idxReq}", "TEST", "INGRESSO", "15000", "PROVA IN", $"{adesso:yyyy/MM/dd}", $"{adesso:HH:mm:ss}");
|
||||||
|
bool pesoOk = answ.feedback == "C";
|
||||||
|
pesata = $"rm: {answ.rm} | DI: {answ.dateIn} | DO: {answ.dateOut} | BI: {answ.balanceIn} | BO: {answ.balanceOut} | WI: {answ.weightIn} | WO: {answ.weightOut} | Feed: {answ.feedback} | note: {answ.notes}";
|
||||||
|
Console.WriteLine(pesata);
|
||||||
|
Console.WriteLine();
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Errore:{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (escimi == "O")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var answ = gombaConn.memWeight("OUT", $"ODL000000{idxReq}", "TEST", "USCITA", "15000", "PROVA OUT", $"{adesso:yyyy/MM/dd}", $"{adesso:HH:mm:ss}");
|
||||||
|
bool pesoOk = answ.feedback == "C";
|
||||||
|
pesata = $"rm: {answ.rm} | DI: {answ.dateIn} | DO: {answ.dateOut} | BI: {answ.balanceIn} | BO: {answ.balanceOut} | WI: {answ.weightIn} | WO: {answ.weightOut} | Feed: {answ.feedback} | note: {answ.notes}";
|
||||||
|
Console.WriteLine(pesata);
|
||||||
|
Console.WriteLine();
|
||||||
|
if (pesoOk)
|
||||||
|
{
|
||||||
|
idxReq++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Errore:{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Gomba.Test")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Gomba.Test")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("2b7f1536-61d1-4f05-af8d-62a52d114479")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
|
</startup>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
<system.serviceModel>
|
||||||
|
<bindings>
|
||||||
|
<basicHttpBinding>
|
||||||
|
<binding name="lwpServicePortBinding">
|
||||||
|
<security mode="Transport" />
|
||||||
|
</binding>
|
||||||
|
<binding name="lwpServicePortBinding1" />
|
||||||
|
</basicHttpBinding>
|
||||||
|
</bindings>
|
||||||
|
<client>
|
||||||
|
<endpoint address="https://308gomba:8000/ws" binding="basicHttpBinding"
|
||||||
|
bindingConfiguration="lwpServicePortBinding" contract="GombaServ.lwpService"
|
||||||
|
name="lwpServicePort" />
|
||||||
|
</client>
|
||||||
|
</system.serviceModel>
|
||||||
|
</configuration>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="gestWeightOut" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Gomba.GombaServ.gestWeightOut, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="memWeightResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Gomba.GombaServ.memWeightResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="reqWeightListResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Gomba.GombaServ.reqWeightListResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="reqWeightResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Gomba.GombaServ.reqWeightResponse, Connected Services.GombaServ.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@@ -0,0 +1,611 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace EgwProxy.Gomba.GombaServ {
|
||||||
|
|
||||||
|
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ServiceModel.ServiceContractAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", ConfigurationName="GombaServ.lwpService")]
|
||||||
|
public interface lwpService {
|
||||||
|
|
||||||
|
// CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse")]
|
||||||
|
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
|
||||||
|
[return: System.ServiceModel.MessageParameterAttribute(Name="return")]
|
||||||
|
EgwProxy.Gomba.GombaServ.memWeightResponse memWeight(EgwProxy.Gomba.GombaServ.memWeightRequest request);
|
||||||
|
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse")]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.memWeightResponse> memWeightAsync(EgwProxy.Gomba.GombaServ.memWeightRequest request);
|
||||||
|
|
||||||
|
// CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse")]
|
||||||
|
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
|
||||||
|
[return: System.ServiceModel.MessageParameterAttribute(Name="return")]
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightListResponse reqWeightList(EgwProxy.Gomba.GombaServ.reqWeightListRequest request);
|
||||||
|
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse")]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightListResponse> reqWeightListAsync(EgwProxy.Gomba.GombaServ.reqWeightListRequest request);
|
||||||
|
|
||||||
|
// CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse")]
|
||||||
|
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
|
||||||
|
[return: System.ServiceModel.MessageParameterAttribute(Name="return")]
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightResponse reqWeight(EgwProxy.Gomba.GombaServ.reqWeightRequest request);
|
||||||
|
|
||||||
|
[System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse")]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightResponse> reqWeightAsync(EgwProxy.Gomba.GombaServ.reqWeightRequest request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.3761.0")]
|
||||||
|
[System.SerializableAttribute()]
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
|
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://servicesImpl.webServices.gomba.com/")]
|
||||||
|
public partial class gestWeightOut : object, System.ComponentModel.INotifyPropertyChanged {
|
||||||
|
|
||||||
|
private string balanceInField;
|
||||||
|
|
||||||
|
private string balanceOutField;
|
||||||
|
|
||||||
|
private string cod1Field;
|
||||||
|
|
||||||
|
private string cod2Field;
|
||||||
|
|
||||||
|
private string cod3Field;
|
||||||
|
|
||||||
|
private string cod4Field;
|
||||||
|
|
||||||
|
private string cod5Field;
|
||||||
|
|
||||||
|
private string cod6Field;
|
||||||
|
|
||||||
|
private System.DateTime dateInField;
|
||||||
|
|
||||||
|
private bool dateInFieldSpecified;
|
||||||
|
|
||||||
|
private System.DateTime dateOutField;
|
||||||
|
|
||||||
|
private bool dateOutFieldSpecified;
|
||||||
|
|
||||||
|
private string feedbackField;
|
||||||
|
|
||||||
|
private string idMemInField;
|
||||||
|
|
||||||
|
private string idMemOutField;
|
||||||
|
|
||||||
|
private string netField;
|
||||||
|
|
||||||
|
private string notesField;
|
||||||
|
|
||||||
|
private string rmField;
|
||||||
|
|
||||||
|
private string weightInField;
|
||||||
|
|
||||||
|
private string weightOutField;
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
|
||||||
|
public string balanceIn {
|
||||||
|
get {
|
||||||
|
return this.balanceInField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.balanceInField = value;
|
||||||
|
this.RaisePropertyChanged("balanceIn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
|
||||||
|
public string balanceOut {
|
||||||
|
get {
|
||||||
|
return this.balanceOutField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.balanceOutField = value;
|
||||||
|
this.RaisePropertyChanged("balanceOut");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
|
||||||
|
public string cod1 {
|
||||||
|
get {
|
||||||
|
return this.cod1Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod1Field = value;
|
||||||
|
this.RaisePropertyChanged("cod1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=3)]
|
||||||
|
public string cod2 {
|
||||||
|
get {
|
||||||
|
return this.cod2Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod2Field = value;
|
||||||
|
this.RaisePropertyChanged("cod2");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=4)]
|
||||||
|
public string cod3 {
|
||||||
|
get {
|
||||||
|
return this.cod3Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod3Field = value;
|
||||||
|
this.RaisePropertyChanged("cod3");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=5)]
|
||||||
|
public string cod4 {
|
||||||
|
get {
|
||||||
|
return this.cod4Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod4Field = value;
|
||||||
|
this.RaisePropertyChanged("cod4");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=6)]
|
||||||
|
public string cod5 {
|
||||||
|
get {
|
||||||
|
return this.cod5Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod5Field = value;
|
||||||
|
this.RaisePropertyChanged("cod5");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=7)]
|
||||||
|
public string cod6 {
|
||||||
|
get {
|
||||||
|
return this.cod6Field;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.cod6Field = value;
|
||||||
|
this.RaisePropertyChanged("cod6");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=8)]
|
||||||
|
public System.DateTime dateIn {
|
||||||
|
get {
|
||||||
|
return this.dateInField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.dateInField = value;
|
||||||
|
this.RaisePropertyChanged("dateIn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
||||||
|
public bool dateInSpecified {
|
||||||
|
get {
|
||||||
|
return this.dateInFieldSpecified;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.dateInFieldSpecified = value;
|
||||||
|
this.RaisePropertyChanged("dateInSpecified");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=9)]
|
||||||
|
public System.DateTime dateOut {
|
||||||
|
get {
|
||||||
|
return this.dateOutField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.dateOutField = value;
|
||||||
|
this.RaisePropertyChanged("dateOut");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
||||||
|
public bool dateOutSpecified {
|
||||||
|
get {
|
||||||
|
return this.dateOutFieldSpecified;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.dateOutFieldSpecified = value;
|
||||||
|
this.RaisePropertyChanged("dateOutSpecified");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=10)]
|
||||||
|
public string feedback {
|
||||||
|
get {
|
||||||
|
return this.feedbackField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.feedbackField = value;
|
||||||
|
this.RaisePropertyChanged("feedback");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=11)]
|
||||||
|
public string idMemIn {
|
||||||
|
get {
|
||||||
|
return this.idMemInField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.idMemInField = value;
|
||||||
|
this.RaisePropertyChanged("idMemIn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=12)]
|
||||||
|
public string idMemOut {
|
||||||
|
get {
|
||||||
|
return this.idMemOutField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.idMemOutField = value;
|
||||||
|
this.RaisePropertyChanged("idMemOut");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=13)]
|
||||||
|
public string net {
|
||||||
|
get {
|
||||||
|
return this.netField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.netField = value;
|
||||||
|
this.RaisePropertyChanged("net");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=14)]
|
||||||
|
public string notes {
|
||||||
|
get {
|
||||||
|
return this.notesField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.notesField = value;
|
||||||
|
this.RaisePropertyChanged("notes");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=15)]
|
||||||
|
public string rm {
|
||||||
|
get {
|
||||||
|
return this.rmField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.rmField = value;
|
||||||
|
this.RaisePropertyChanged("rm");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=16)]
|
||||||
|
public string weightIn {
|
||||||
|
get {
|
||||||
|
return this.weightInField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.weightInField = value;
|
||||||
|
this.RaisePropertyChanged("weightIn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=17)]
|
||||||
|
public string weightOut {
|
||||||
|
get {
|
||||||
|
return this.weightOutField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.weightOutField = value;
|
||||||
|
this.RaisePropertyChanged("weightOut");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
|
protected void RaisePropertyChanged(string propertyName) {
|
||||||
|
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
|
||||||
|
if ((propertyChanged != null)) {
|
||||||
|
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="memWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class memWeightRequest {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string type;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string rm;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod1;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=3)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod2;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=4)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod3;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=5)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod4;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=6)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod5;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=7)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string cod6;
|
||||||
|
|
||||||
|
public memWeightRequest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public memWeightRequest(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) {
|
||||||
|
this.type = type;
|
||||||
|
this.rm = rm;
|
||||||
|
this.cod1 = cod1;
|
||||||
|
this.cod2 = cod2;
|
||||||
|
this.cod3 = cod3;
|
||||||
|
this.cod4 = cod4;
|
||||||
|
this.cod5 = cod5;
|
||||||
|
this.cod6 = cod6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="memWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class memWeightResponse {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut @return;
|
||||||
|
|
||||||
|
public memWeightResponse() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public memWeightResponse(EgwProxy.Gomba.GombaServ.gestWeightOut @return) {
|
||||||
|
this.@return = @return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightList", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class reqWeightListRequest {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string type;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string dateStart;
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string dateEnd;
|
||||||
|
|
||||||
|
public reqWeightListRequest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public reqWeightListRequest(string type, string dateStart, string dateEnd) {
|
||||||
|
this.type = type;
|
||||||
|
this.dateStart = dateStart;
|
||||||
|
this.dateEnd = dateEnd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightListResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class reqWeightListResponse {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut[] @return;
|
||||||
|
|
||||||
|
public reqWeightListResponse() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public reqWeightListResponse(EgwProxy.Gomba.GombaServ.gestWeightOut[] @return) {
|
||||||
|
this.@return = @return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="reqWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class reqWeightRequest {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string rm;
|
||||||
|
|
||||||
|
public reqWeightRequest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public reqWeightRequest(string rm) {
|
||||||
|
this.rm = rm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
[System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)]
|
||||||
|
public partial class reqWeightResponse {
|
||||||
|
|
||||||
|
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)]
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut @return;
|
||||||
|
|
||||||
|
public reqWeightResponse() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public reqWeightResponse(EgwProxy.Gomba.GombaServ.gestWeightOut @return) {
|
||||||
|
this.@return = @return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
public interface lwpServiceChannel : EgwProxy.Gomba.GombaServ.lwpService, System.ServiceModel.IClientChannel {
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
public partial class lwpServiceClient : System.ServiceModel.ClientBase<EgwProxy.Gomba.GombaServ.lwpService>, EgwProxy.Gomba.GombaServ.lwpService {
|
||||||
|
|
||||||
|
public lwpServiceClient() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public lwpServiceClient(string endpointConfigurationName) :
|
||||||
|
base(endpointConfigurationName) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public lwpServiceClient(string endpointConfigurationName, string remoteAddress) :
|
||||||
|
base(endpointConfigurationName, remoteAddress) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public lwpServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
|
||||||
|
base(endpointConfigurationName, remoteAddress) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public lwpServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
|
||||||
|
base(binding, remoteAddress) {
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
EgwProxy.Gomba.GombaServ.memWeightResponse EgwProxy.Gomba.GombaServ.lwpService.memWeight(EgwProxy.Gomba.GombaServ.memWeightRequest request) {
|
||||||
|
return base.Channel.memWeight(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut memWeight(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) {
|
||||||
|
EgwProxy.Gomba.GombaServ.memWeightRequest inValue = new EgwProxy.Gomba.GombaServ.memWeightRequest();
|
||||||
|
inValue.type = type;
|
||||||
|
inValue.rm = rm;
|
||||||
|
inValue.cod1 = cod1;
|
||||||
|
inValue.cod2 = cod2;
|
||||||
|
inValue.cod3 = cod3;
|
||||||
|
inValue.cod4 = cod4;
|
||||||
|
inValue.cod5 = cod5;
|
||||||
|
inValue.cod6 = cod6;
|
||||||
|
EgwProxy.Gomba.GombaServ.memWeightResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).memWeight(inValue);
|
||||||
|
return retVal.@return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.memWeightResponse> EgwProxy.Gomba.GombaServ.lwpService.memWeightAsync(EgwProxy.Gomba.GombaServ.memWeightRequest request) {
|
||||||
|
return base.Channel.memWeightAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.memWeightResponse> memWeightAsync(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) {
|
||||||
|
EgwProxy.Gomba.GombaServ.memWeightRequest inValue = new EgwProxy.Gomba.GombaServ.memWeightRequest();
|
||||||
|
inValue.type = type;
|
||||||
|
inValue.rm = rm;
|
||||||
|
inValue.cod1 = cod1;
|
||||||
|
inValue.cod2 = cod2;
|
||||||
|
inValue.cod3 = cod3;
|
||||||
|
inValue.cod4 = cod4;
|
||||||
|
inValue.cod5 = cod5;
|
||||||
|
inValue.cod6 = cod6;
|
||||||
|
return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).memWeightAsync(inValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightListResponse EgwProxy.Gomba.GombaServ.lwpService.reqWeightList(EgwProxy.Gomba.GombaServ.reqWeightListRequest request) {
|
||||||
|
return base.Channel.reqWeightList(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut[] reqWeightList(string type, string dateStart, string dateEnd) {
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightListRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightListRequest();
|
||||||
|
inValue.type = type;
|
||||||
|
inValue.dateStart = dateStart;
|
||||||
|
inValue.dateEnd = dateEnd;
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightListResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightList(inValue);
|
||||||
|
return retVal.@return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightListResponse> EgwProxy.Gomba.GombaServ.lwpService.reqWeightListAsync(EgwProxy.Gomba.GombaServ.reqWeightListRequest request) {
|
||||||
|
return base.Channel.reqWeightListAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightListResponse> reqWeightListAsync(string type, string dateStart, string dateEnd) {
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightListRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightListRequest();
|
||||||
|
inValue.type = type;
|
||||||
|
inValue.dateStart = dateStart;
|
||||||
|
inValue.dateEnd = dateEnd;
|
||||||
|
return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightListAsync(inValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightResponse EgwProxy.Gomba.GombaServ.lwpService.reqWeight(EgwProxy.Gomba.GombaServ.reqWeightRequest request) {
|
||||||
|
return base.Channel.reqWeight(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EgwProxy.Gomba.GombaServ.gestWeightOut reqWeight(string rm) {
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightRequest();
|
||||||
|
inValue.rm = rm;
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightResponse retVal = ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeight(inValue);
|
||||||
|
return retVal.@return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightResponse> EgwProxy.Gomba.GombaServ.lwpService.reqWeightAsync(EgwProxy.Gomba.GombaServ.reqWeightRequest request) {
|
||||||
|
return base.Channel.reqWeightAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public System.Threading.Tasks.Task<EgwProxy.Gomba.GombaServ.reqWeightResponse> reqWeightAsync(string rm) {
|
||||||
|
EgwProxy.Gomba.GombaServ.reqWeightRequest inValue = new EgwProxy.Gomba.GombaServ.reqWeightRequest();
|
||||||
|
inValue.rm = rm;
|
||||||
|
return ((EgwProxy.Gomba.GombaServ.lwpService)(this)).reqWeightAsync(inValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ReferenceGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="79647293-8e4c-48a5-a0d7-4baf3f694853" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
|
||||||
|
<ClientOptions>
|
||||||
|
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
|
||||||
|
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
|
||||||
|
<EnableDataBinding>true</EnableDataBinding>
|
||||||
|
<ExcludedTypes />
|
||||||
|
<ImportXmlTypes>false</ImportXmlTypes>
|
||||||
|
<GenerateInternalTypes>false</GenerateInternalTypes>
|
||||||
|
<GenerateMessageContracts>false</GenerateMessageContracts>
|
||||||
|
<NamespaceMappings />
|
||||||
|
<CollectionMappings />
|
||||||
|
<GenerateSerializableTypes>true</GenerateSerializableTypes>
|
||||||
|
<Serializer>Auto</Serializer>
|
||||||
|
<UseSerializerForFaults>true</UseSerializerForFaults>
|
||||||
|
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
|
||||||
|
<ReferencedAssemblies />
|
||||||
|
<ReferencedDataContractTypes />
|
||||||
|
<ServiceContractMappings />
|
||||||
|
</ClientOptions>
|
||||||
|
<MetadataSources>
|
||||||
|
<MetadataSource Address="https://308gomba:8000/ws?wsdl" Protocol="http" SourceId="1" />
|
||||||
|
</MetadataSources>
|
||||||
|
<Metadata>
|
||||||
|
<MetadataFile FileName="ws.xsd" MetadataType="Schema" ID="b430ce0c-e01d-46be-b5cc-fe061743f059" SourceId="1" SourceUrl="https://308gomba:8000/ws?xsd=1" />
|
||||||
|
<MetadataFile FileName="lwpService.wsdl" MetadataType="Wsdl" ID="975f05ee-1558-4bb6-9861-2455f688e911" SourceId="1" SourceUrl="https://308gomba:8000/ws?wsdl" />
|
||||||
|
</Metadata>
|
||||||
|
<Extensions>
|
||||||
|
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||||
|
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||||
|
</Extensions>
|
||||||
|
</ReferenceGroup>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configurationSnapshot xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
|
||||||
|
<behaviors />
|
||||||
|
<bindings>
|
||||||
|
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="lwpServicePortBinding"><security mode="Transport" /></Data>" bindingType="basicHttpBinding" name="lwpServicePortBinding" />
|
||||||
|
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="lwpServicePortBinding1" />" bindingType="basicHttpBinding" name="lwpServicePortBinding1" />
|
||||||
|
</bindings>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="https://308gomba:8000/ws" binding="basicHttpBinding" bindingConfiguration="lwpServicePortBinding" contract="GombaServ.lwpService" name="lwpServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="https://308gomba:8000/ws" binding="basicHttpBinding" bindingConfiguration="lwpServicePortBinding" contract="GombaServ.lwpService" name="lwpServicePort" />" contractName="GombaServ.lwpService" name="lwpServicePort" />
|
||||||
|
</endpoints>
|
||||||
|
</configurationSnapshot>
|
||||||
@@ -0,0 +1,310 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="ETLHBUyFwK/hFPj9qQChVPXHjqFMxS4Tjq7vx1WkBI8=">
|
||||||
|
<bindingConfigurations>
|
||||||
|
<bindingConfiguration bindingType="basicHttpBinding" name="lwpServicePortBinding">
|
||||||
|
<properties>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>lwpServicePortBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>StrongWildcard</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>65536</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Buffered</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Text</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Transport</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Never</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>TransportSelected</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>(Collection)</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>UserName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Default</serializedValue>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</bindingConfiguration>
|
||||||
|
<bindingConfiguration bindingType="basicHttpBinding" name="lwpServicePortBinding1">
|
||||||
|
<properties>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>lwpServicePortBinding1</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>StrongWildcard</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>65536</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Buffered</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Text</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Never</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>TransportSelected</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>(Collection)</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>UserName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Default</serializedValue>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</bindingConfiguration>
|
||||||
|
</bindingConfigurations>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint name="lwpServicePort" contract="GombaServ.lwpService" bindingType="basicHttpBinding" address="https://308gomba:8000/ws" bindingConfiguration="lwpServicePortBinding">
|
||||||
|
<properties>
|
||||||
|
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>https://308gomba:8000/ws</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>basicHttpBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>lwpServicePortBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>GombaServ.lwpService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue><Header /></serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>My</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>LocalMachine</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>lwpServicePort</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</endpoint>
|
||||||
|
</endpoints>
|
||||||
|
</SavedWcfConfigurationInformation>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<definitions xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://servicesImpl.webServices.gomba.com/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="lwpService" targetNamespace="http://servicesImpl.webServices.gomba.com/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||||
|
<types>
|
||||||
|
<xsd:schema>
|
||||||
|
<xsd:import schemaLocation="https://308gomba:8000/ws?xsd=1" namespace="http://servicesImpl.webServices.gomba.com/" />
|
||||||
|
</xsd:schema>
|
||||||
|
</types>
|
||||||
|
<message name="memWeight">
|
||||||
|
<part name="parameters" element="tns:memWeight" />
|
||||||
|
</message>
|
||||||
|
<message name="memWeightResponse">
|
||||||
|
<part name="parameters" element="tns:memWeightResponse" />
|
||||||
|
</message>
|
||||||
|
<message name="reqWeightList">
|
||||||
|
<part name="parameters" element="tns:reqWeightList" />
|
||||||
|
</message>
|
||||||
|
<message name="reqWeightListResponse">
|
||||||
|
<part name="parameters" element="tns:reqWeightListResponse" />
|
||||||
|
</message>
|
||||||
|
<message name="reqWeight">
|
||||||
|
<part name="parameters" element="tns:reqWeight" />
|
||||||
|
</message>
|
||||||
|
<message name="reqWeightResponse">
|
||||||
|
<part name="parameters" element="tns:reqWeightResponse" />
|
||||||
|
</message>
|
||||||
|
<portType name="lwpService">
|
||||||
|
<operation name="memWeight">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest" message="tns:memWeight" />
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse" message="tns:memWeightResponse" />
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeightList">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest" message="tns:reqWeightList" />
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse" message="tns:reqWeightListResponse" />
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeight">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest" message="tns:reqWeight" />
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse" message="tns:reqWeightResponse" />
|
||||||
|
</operation>
|
||||||
|
</portType>
|
||||||
|
<binding name="lwpServicePortBinding" type="tns:lwpService">
|
||||||
|
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||||
|
<operation name="memWeight">
|
||||||
|
<soap:operation soapAction="" />
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeightList">
|
||||||
|
<soap:operation soapAction="" />
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeight">
|
||||||
|
<soap:operation soapAction="" />
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal" />
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
</binding>
|
||||||
|
<service name="lwpService">
|
||||||
|
<port name="lwpServicePort" binding="tns:lwpServicePortBinding">
|
||||||
|
<soap:address location="https://308gomba:8000/ws" />
|
||||||
|
</port>
|
||||||
|
</service>
|
||||||
|
</definitions>
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://servicesImpl.webServices.gomba.com/" targetNamespace="http://servicesImpl.webServices.gomba.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:element name="memWeight" type="tns:memWeight" />
|
||||||
|
<xs:element name="memWeightResponse" type="tns:memWeightResponse" />
|
||||||
|
<xs:element name="reqWeight" type="tns:reqWeight" />
|
||||||
|
<xs:element name="reqWeightList" type="tns:reqWeightList" />
|
||||||
|
<xs:element name="reqWeightListResponse" type="tns:reqWeightListResponse" />
|
||||||
|
<xs:element name="reqWeightResponse" type="tns:reqWeightResponse" />
|
||||||
|
<xs:complexType name="memWeight">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="type" type="xs:string" />
|
||||||
|
<xs:element name="rm" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod1" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod2" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod3" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod4" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod5" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod6" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="memWeightResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="return" type="tns:gestWeightOut" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="gestWeightOut">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="balanceIn" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="balanceOut" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod1" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod2" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod3" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod4" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod5" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="cod6" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="dateIn" type="xs:dateTime" />
|
||||||
|
<xs:element minOccurs="0" name="dateOut" type="xs:dateTime" />
|
||||||
|
<xs:element minOccurs="0" name="feedback" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="idMemIn" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="idMemOut" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="net" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="notes" type="xs:string" />
|
||||||
|
<xs:element name="rm" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="weightIn" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="weightOut" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="reqWeight">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="rm" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="reqWeightResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="return" type="tns:gestWeightOut" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="reqWeightList">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="type" type="xs:string" />
|
||||||
|
<xs:element name="dateStart" type="xs:string" />
|
||||||
|
<xs:element name="dateEnd" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="reqWeightListResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="return" type="tns:gestWeightOut" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{CC377124-1B94-40C1-B552-D6D42EB2BF27}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<RootNamespace>EgwProxy.Gomba</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Gomba</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.IdentityModel" />
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization.Xml, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.Serialization.Xml.4.3.0\lib\net46\System.Runtime.Serialization.Xml.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.ServiceModel.Http, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ServiceModel.Http.4.6.0\lib\net461\System.ServiceModel.Http.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ServiceModel.NetTcp, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ServiceModel.NetTcp.4.6.0\lib\net461\System.ServiceModel.NetTcp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ServiceModel.Primitives, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ServiceModel.Primitives.4.6.0\lib\net461\System.ServiceModel.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ServiceModel.Security, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ServiceModel.Security.4.6.0\lib\net461\System.ServiceModel.Security.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Connected Services\GombaServ\Reference.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
<None Include="Connected Services\GombaServ\EgwProxy.Gomba.GombaServ.gestWeightOut.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\GombaServ\EgwProxy.Gomba.GombaServ.memWeightResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\GombaServ\EgwProxy.Gomba.GombaServ.reqWeightListResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\GombaServ\EgwProxy.Gomba.GombaServ.reqWeightResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\GombaServ\lwpService.wsdl" />
|
||||||
|
<None Include="Connected Services\GombaServ\ws.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<WCFMetadata Include="Connected Services\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<WCFMetadataStorage Include="Connected Services\GombaServ\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Connected Services\GombaServ\configuration91.svcinfo" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Connected Services\GombaServ\configuration.svcinfo" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Connected Services\GombaServ\Reference.svcmap">
|
||||||
|
<Generator>WCF Proxy Generator</Generator>
|
||||||
|
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
<!-- Published by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e. -->
|
||||||
|
<!-- Generated by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e. -->
|
||||||
|
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://servicesImpl.webServices.gomba.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://servicesImpl.webServices.gomba.com/" name="lwpService">
|
||||||
|
<types>
|
||||||
|
<xsd:schema>
|
||||||
|
<xsd:import namespace="http://servicesImpl.webServices.gomba.com/" schemaLocation="https://308gomba:8000/ws?xsd=1"/>
|
||||||
|
</xsd:schema>
|
||||||
|
</types>
|
||||||
|
<message name="reqWeightList">
|
||||||
|
<part name="parameters" element="tns:reqWeightList"/>
|
||||||
|
</message>
|
||||||
|
<message name="reqWeightListResponse">
|
||||||
|
<part name="parameters" element="tns:reqWeightListResponse"/>
|
||||||
|
</message>
|
||||||
|
<message name="memWeight">
|
||||||
|
<part name="parameters" element="tns:memWeight"/>
|
||||||
|
</message>
|
||||||
|
<message name="memWeightResponse">
|
||||||
|
<part name="parameters" element="tns:memWeightResponse"/>
|
||||||
|
</message>
|
||||||
|
<message name="reqWeight">
|
||||||
|
<part name="parameters" element="tns:reqWeight"/>
|
||||||
|
</message>
|
||||||
|
<message name="reqWeightResponse">
|
||||||
|
<part name="parameters" element="tns:reqWeightResponse"/>
|
||||||
|
</message>
|
||||||
|
<portType name="lwpService">
|
||||||
|
<operation name="reqWeightList">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest" message="tns:reqWeightList"/>
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse" message="tns:reqWeightListResponse"/>
|
||||||
|
</operation>
|
||||||
|
<operation name="memWeight">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest" message="tns:memWeight"/>
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse" message="tns:memWeightResponse"/>
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeight">
|
||||||
|
<input wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest" message="tns:reqWeight"/>
|
||||||
|
<output wsam:Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse" message="tns:reqWeightResponse"/>
|
||||||
|
</operation>
|
||||||
|
</portType>
|
||||||
|
<binding name="lwpServicePortBinding" type="tns:lwpService">
|
||||||
|
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
|
||||||
|
<operation name="reqWeightList">
|
||||||
|
<soap:operation soapAction=""/>
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
<operation name="memWeight">
|
||||||
|
<soap:operation soapAction=""/>
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
<operation name="reqWeight">
|
||||||
|
<soap:operation soapAction=""/>
|
||||||
|
<input>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap:body use="literal"/>
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
|
</binding>
|
||||||
|
<service name="lwpService">
|
||||||
|
<port name="lwpServicePort" binding="tns:lwpServicePortBinding">
|
||||||
|
<soap:address location="https://308gomba:8000/ws"/>
|
||||||
|
</port>
|
||||||
|
</service>
|
||||||
|
</definitions>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Gomba")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Gomba")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("cc377124-1b94-40c1-b552-d6d42eb2bf27")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"metadata": [
|
||||||
|
{
|
||||||
|
"src": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.csproj",
|
||||||
|
"*.vbproj"
|
||||||
|
],
|
||||||
|
"cwd": ".",
|
||||||
|
"exclude": [
|
||||||
|
"**/obj/**",
|
||||||
|
"**/bin/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dest": "obj/api"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"build": {
|
||||||
|
"content": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"api/**.yml"
|
||||||
|
],
|
||||||
|
"cwd": "obj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"api/*.md",
|
||||||
|
"articles/**.md",
|
||||||
|
"toc.yml",
|
||||||
|
"*.md"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resource": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"images/**"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"overwrite": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"apidoc/**.md"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"obj/**",
|
||||||
|
"_site/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dest": "_site",
|
||||||
|
"template": [
|
||||||
|
"default"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# EgwProxy.Gomba Library
|
||||||
|
|
||||||
|
Documentazione relativa alla libreria di interfaccia via webservice SOAP/XML con le bilance GOMBA (ex IMI Remosa).
|
||||||
|
|
||||||
|
Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo
|
||||||
|
|
||||||
|
https://nexus.steamware.net/#browse/browse:nuget-hosted
|
||||||
|
|
||||||
|
Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi.
|
||||||
|
|
||||||
|
## Articles
|
||||||
|
|
||||||
|
Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles
|
||||||
|
|
||||||
|
## Api
|
||||||
|
|
||||||
|
Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation
|
||||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.Runtime.Serialization.Xml" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.ServiceModel.Http" version="4.6.0" targetFramework="net462" />
|
||||||
|
<package id="System.ServiceModel.NetTcp" version="4.6.0" targetFramework="net462" />
|
||||||
|
<package id="System.ServiceModel.Primitives" version="4.6.0" targetFramework="net462" />
|
||||||
|
<package id="System.ServiceModel.Security" version="4.6.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
- name: Articles
|
||||||
|
href: articles/
|
||||||
|
- name: API Documentation
|
||||||
|
href: obj/api/
|
||||||
|
homepage: api/index.md
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</configSections>
|
||||||
|
<entityFramework>
|
||||||
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
|
</providers>
|
||||||
|
</entityFramework>
|
||||||
|
<connectionStrings>
|
||||||
|
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="ExportIcoel" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="TrackerLotti" connectionString="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="SyncState" connectionString="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||||
|
</connectionStrings>
|
||||||
|
<runtime>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
/*------------------------------------------------
|
||||||
|
* Aggiunto fix come da link seguente:
|
||||||
|
*
|
||||||
|
* https://stackoverflow.com/questions/14033193/entity-framework-provider-type-could-not-be-loaded
|
||||||
|
*
|
||||||
|
* I solved this by adding an using stament on top of my DBContext class, like so:
|
||||||
|
* using SqlProviderServices= System.Data.Entity.SqlServer.SqlProviderServices;
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Controller accesso dati DB vari x ICOEL
|
||||||
|
/// </summary>
|
||||||
|
public class DbController : IDisposable
|
||||||
|
{
|
||||||
|
#if false
|
||||||
|
private static EntrataDbContext dbEntrataCtx;
|
||||||
|
private static ExportDbContext dbExportCtx;
|
||||||
|
private static TrackerDbContext dbTrackerCtx;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Avvio dell'oggetto gestione DB con stringa di connessione specifica
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="connSyncState">Connessione DB locale di SYNC</param>
|
||||||
|
public DbController(string connSyncState)
|
||||||
|
{
|
||||||
|
dbSyncStateCtx = new SyncStateDbContext(connSyncState);
|
||||||
|
Log.Info("Avviata classe dbSyncStateCtx");
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera la tab di CurrData corrente
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<DatabaseModels.CurrDataModel> CurrDataGetAll()
|
||||||
|
{
|
||||||
|
List<DatabaseModels.CurrDataModel> dbResult = new List<DatabaseModels.CurrDataModel>();
|
||||||
|
|
||||||
|
dbResult = dbSyncStateCtx
|
||||||
|
.DbSetCurrData
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return dbResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dispose classe
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
// Clear database context
|
||||||
|
#if false
|
||||||
|
dbEntrataCtx.Dispose();
|
||||||
|
dbExportCtx.Dispose();
|
||||||
|
dbTrackerCtx.Dispose();
|
||||||
|
#endif
|
||||||
|
dbSyncStateCtx.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
||||||
|
/// restitusice in output la tab di SyncState x verificare lo stato
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<DatabaseModels.SyncStateModel> SyncStateDoExportAll()
|
||||||
|
{
|
||||||
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||||
|
|
||||||
|
dbResult = dbSyncStateCtx
|
||||||
|
.Database
|
||||||
|
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ExportAll")
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return dbResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
||||||
|
/// restitusice in output la tab di SyncState x verificare lo stato
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<DatabaseModels.SyncStateModel> SyncStateDoImportAll()
|
||||||
|
{
|
||||||
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||||
|
|
||||||
|
dbResult = dbSyncStateCtx
|
||||||
|
.Database
|
||||||
|
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ImportAll")
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return dbResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// recupera la tab di SyncState corrente
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<DatabaseModels.SyncStateModel> SyncStateGetAll()
|
||||||
|
{
|
||||||
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||||
|
|
||||||
|
dbResult = dbSyncStateCtx
|
||||||
|
.DbSetSyncState
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return dbResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private static SyncStateDbContext dbSyncStateCtx;
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("CurrData")]
|
||||||
|
public partial class CurrDataModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[StringLength(50)]
|
||||||
|
public string Topic { get; set; }
|
||||||
|
|
||||||
|
public decimal CurrVal { get; set; } = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("DettagliConferimentoMES")]
|
||||||
|
public partial class DettConferimentoModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 0)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long PackId { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 1)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long FillingId { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 2)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int FilligRow { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 3)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long ScaricoId { get; set; }
|
||||||
|
|
||||||
|
public string CODBARRE { get; set; }
|
||||||
|
|
||||||
|
public string CODICE_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
public string NOME_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
public string CODICE_PRODOTTO { get; set; }
|
||||||
|
|
||||||
|
public string DESCRIZIONE_PRODOTTO { get; set; }
|
||||||
|
|
||||||
|
public string CODICE_PRODOTTO_GREZZO { get; set; }
|
||||||
|
|
||||||
|
public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; }
|
||||||
|
|
||||||
|
public string SIGLA_LOTTO { get; set; }
|
||||||
|
|
||||||
|
public string NUMERO_LOTTO { get; set; }
|
||||||
|
|
||||||
|
public string DATA_ENTRATA { get; set; }
|
||||||
|
|
||||||
|
public string QUANTITA_ENTRATA { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("DettagliConfezioniMES")]
|
||||||
|
public partial class DettConfezioniModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[Column("Pack Id", Order = 0)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long Pack_Id { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string EAN { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column("Batch Id", Order = 1)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long Batch_Id { get; set; }
|
||||||
|
|
||||||
|
public string BatchName { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 2)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int Lane1SizerBatchId { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 3)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int Lane2SizerBatchId { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column("End Time", Order = 4, TypeName = "datetime2")]
|
||||||
|
public DateTime End_Time { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 5)]
|
||||||
|
public Guid SizerProductGUID { get; set; }
|
||||||
|
|
||||||
|
[Column("Product Name")]
|
||||||
|
public string Product_Name { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 6)]
|
||||||
|
public Guid SizerPackGUID { get; set; }
|
||||||
|
|
||||||
|
[Column("Pack Name")]
|
||||||
|
[StringLength(50)]
|
||||||
|
public string Pack_Name { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 7)]
|
||||||
|
public decimal PesoDecigram { get; set; }
|
||||||
|
|
||||||
|
[StringLength(10)]
|
||||||
|
public string FillingMode { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 8)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int Quantity { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("ENTRATACILIEGIE")]
|
||||||
|
public partial class EntrataModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public long ID_CHIAVE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(20)]
|
||||||
|
public string CODBARRE { get; set; }
|
||||||
|
|
||||||
|
public double? CODICE_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(5)]
|
||||||
|
public string CODICE_LUOGO_PRODUZIONE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string NOME_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string INDIRIZZO_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string COMUNE_FORNITORE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string NOME_LUOGO_PRODUZIONE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string INDIRIZZO_LUOGO_PRODUZIONE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string COMUNE_LUOGO_PRODUZIONE { get; set; }
|
||||||
|
|
||||||
|
[StringLength(10)]
|
||||||
|
public string CODICE_PRODOTTO { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string DESCRIZIONE_PRODOTTO { get; set; }
|
||||||
|
|
||||||
|
[StringLength(10)]
|
||||||
|
public string CODICE_PRODOTTO_GREZZO { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; }
|
||||||
|
|
||||||
|
[StringLength(50)]
|
||||||
|
public string SIGLA_LOTTO { get; set; }
|
||||||
|
|
||||||
|
[StringLength(10)]
|
||||||
|
public string NUMERO_LOTTO { get; set; }
|
||||||
|
|
||||||
|
[Column(TypeName = "datetime2")]
|
||||||
|
public DateTime? DATA_ENTRATA { get; set; }
|
||||||
|
|
||||||
|
public double? QUANTITA_ENTRATA { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("ProductsTotals")]
|
||||||
|
public partial class ProductsTotalsModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 0)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int SizerBatchId { get; set; }
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
[Column(Order = 1)]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||||
|
public int Index { get; set; }
|
||||||
|
|
||||||
|
public string Nome { get; set; }
|
||||||
|
|
||||||
|
public string Qualities { get; set; }
|
||||||
|
|
||||||
|
public string Grado { get; set; }
|
||||||
|
|
||||||
|
public string Calibro { get; set; }
|
||||||
|
|
||||||
|
public int NumeroFrutti { get; set; }
|
||||||
|
|
||||||
|
public string Decigrammi { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity.Spatial;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("SyncState")]
|
||||||
|
public partial class SyncStateModel
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[StringLength(50)]
|
||||||
|
public string TableName { get; set; }
|
||||||
|
|
||||||
|
public long LastIdx { get; set; }
|
||||||
|
|
||||||
|
public long LastIdxIn { get; set; }
|
||||||
|
|
||||||
|
public long LastIdxOut { get; set; }
|
||||||
|
|
||||||
|
public long NumRec { get; set; }
|
||||||
|
|
||||||
|
public long NumRecIn { get; set; }
|
||||||
|
|
||||||
|
public long NumRecOut { get; set; }
|
||||||
|
|
||||||
|
public DateTime LastUpdate { get; set; } = DateTime.Today;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
public static class DbConfig
|
||||||
|
{
|
||||||
|
#region Public Fields
|
||||||
|
|
||||||
|
public static string DATABASE_NAME = "EgtBwDb";
|
||||||
|
|
||||||
|
public static int DATABASE_PROCESS_TIMEOUT = 5;
|
||||||
|
public static string DATABASE_PWD = "viacremasca";
|
||||||
|
|
||||||
|
// Database config
|
||||||
|
public static string DATABASE_SERV = "127.0.0.1";
|
||||||
|
|
||||||
|
public static string DATABASE_USER = "EgtUser";
|
||||||
|
|
||||||
|
#endregion Public Fields
|
||||||
|
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DB Connection string per azioni amministrative
|
||||||
|
/// </summary>
|
||||||
|
public static string ADMIN_CONNECTION_STRING { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DB Connection string
|
||||||
|
/// </summary>
|
||||||
|
public static string CONNECTION_STRING { get; set; } = "";
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Metodo di init standard per DB in rete con Master_Key
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="server">Indirizzo del server (tipicamente indirizzo di rete)</param>
|
||||||
|
/// <param name="nKey">Numero chiave</param>
|
||||||
|
/// <param name="sKey">Codice/pwd associato a chaive</param>
|
||||||
|
/// <param name="masterKey">Numero di chiave master con cui è creato il DB</param>
|
||||||
|
public static void InitDb(string server, string nKey, string sKey, string masterKey = "")
|
||||||
|
{
|
||||||
|
// se nulla metto amster come nKey...
|
||||||
|
masterKey = string.IsNullOrEmpty(masterKey) ? nKey : masterKey;
|
||||||
|
DATABASE_SERV = server;
|
||||||
|
DATABASE_NAME = $"EgtBwDb_{masterKey}";
|
||||||
|
DATABASE_USER = $"user_{nKey}";
|
||||||
|
DATABASE_PWD = $"pwd_{sKey}";
|
||||||
|
CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database={DATABASE_NAME};uid={DATABASE_USER};pwd={DATABASE_PWD};sslmode=None";
|
||||||
|
// stringa admin con utente root egalware...
|
||||||
|
ADMIN_CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database=mysql;uid=root;pwd=Egalware_24068!;sslmode=None;CHARSET=utf8";
|
||||||
|
}
|
||||||
|
|
||||||
|
#if false
|
||||||
|
public static bool CheckUser(string nKey, string sKey, bool isNetwork)
|
||||||
|
{
|
||||||
|
// esecuzione script di install locale
|
||||||
|
return Controllers.DbController.man.checkCreateUser(DATABASE_USER, DATABASE_PWD, isNetwork);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,138 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{E36544CB-D699-48D8-9F81-C2758E7C7D19}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>EgwProxy.Icoel.DataLayer</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Icoel.DataLayer</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NLog.5.2.3\lib\net46\NLog.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Data.OracleClient" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.IdentityModel" />
|
||||||
|
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net" />
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.Security" />
|
||||||
|
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.ServiceProcess" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="WindowsBase" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Controllers\DbController.cs" />
|
||||||
|
<Compile Include="DatabaseModels\EntrataModel.cs" />
|
||||||
|
<Compile Include="DatabaseModels\DettConferimentoModel.cs" />
|
||||||
|
<Compile Include="DatabaseModels\DettConfezioniModel.cs" />
|
||||||
|
<Compile Include="DatabaseModels\CurrDataModel.cs" />
|
||||||
|
<Compile Include="EntrataDbContext.cs" />
|
||||||
|
<Compile Include="ExportDbContext.cs" />
|
||||||
|
<Compile Include="DatabaseModels\ProductsTotalsModel.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="DatabaseModels\SyncStateModel.cs" />
|
||||||
|
<Compile Include="SyncStateDbContext.cs" />
|
||||||
|
<Compile Include="TrackerDbContext.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity;
|
||||||
|
using System.Linq;
|
||||||
|
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe per accesso dati accettazione merce Agrimatica (via ICOEL)
|
||||||
|
/// </summary>
|
||||||
|
public partial class EntrataDbContext : DbContext
|
||||||
|
{
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore implicito
|
||||||
|
/// </summary>
|
||||||
|
public EntrataDbContext() : base("name=EntrataFrontiera")
|
||||||
|
{
|
||||||
|
Log.Info("Init 01 EntrataDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore da connectionString
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="connectionString"></param>
|
||||||
|
public EntrataDbContext(string connectionString) : base(connectionString)
|
||||||
|
{
|
||||||
|
Log.Info("Init 02 EntrataDbContext - DONE");
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet record entrata merce
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<EntrataModel> DbSetEntrataMerce { get; set; }
|
||||||
|
|
||||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
modelBuilder.Entity<EntrataModel>()
|
||||||
|
.Property(e => e.DATA_ENTRATA)
|
||||||
|
.HasPrecision(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity;
|
||||||
|
using System.Linq;
|
||||||
|
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe per accesso dati Tacker ICOEL
|
||||||
|
/// </summary>
|
||||||
|
public partial class ExportDbContext : DbContext
|
||||||
|
{
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore implicito
|
||||||
|
/// </summary>
|
||||||
|
public ExportDbContext() : base("name=ExportIcoel")
|
||||||
|
{
|
||||||
|
Log.Info("Init 01 ExportDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore da connectionString
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="connectionString"></param>
|
||||||
|
public ExportDbContext(string connectionString) : base(connectionString)
|
||||||
|
{
|
||||||
|
Log.Info("Init 02 ExportDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet dati prodotti
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<ProductsTotalsModel> DbSetProductsTotals { get; set; }
|
||||||
|
|
||||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
public class MainDbContext : DbContext
|
||||||
|
{
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
// Il contesto è stato configurato per utilizzare una stringa di connessione 'BBMModel' dal file di configurazione
|
||||||
|
// dell'applicazione (App.config o Web.config). Per impostazione predefinita, la stringa di connessione è destinata al
|
||||||
|
// database 'BBMModel' nell'istanza di LocalDb.
|
||||||
|
//
|
||||||
|
// Per destinarla a un database o un provider di database differente, modificare la stringa di connessione 'BBMModel'
|
||||||
|
// nel file di configurazione dell'applicazione.
|
||||||
|
[Obsolete("This constructor should never be used directly, and is only needed to generate entityframework stuff. Connection string can be adapted as pleased.")]
|
||||||
|
//public DatabaseContext() : base("BBMModel")
|
||||||
|
public MainDbContext() : base("Data Source=SQLSTEAM;Initial Catalog=SHERPA.BBM;User ID=sa;Password=keyhammer;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public MainDbContext(string connectionString) : base(connectionString)
|
||||||
|
{
|
||||||
|
Log.Info($"init MainDbContext - start");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Database.CreateIfNotExists();
|
||||||
|
Log.Error("CreateIfNotExists - DONE");
|
||||||
|
|
||||||
|
//Database.SetInitializer(new MigrateDatabaseToLatestVersion<StratonLocalizerDatabase, Migrations.Configuration>());
|
||||||
|
Database.SetInitializer<MainDbContext>(null);
|
||||||
|
Database.Initialize(false);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Log.Error($"Eccezione in fase init MainDbContext, connectionString: {connectionString}{Environment.NewLine}{exc}");
|
||||||
|
}
|
||||||
|
Log.Error("init MainDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
// Aggiungere DbSet per ogni tipo di entità che si desidera includere nel modello. Per ulteriori informazioni
|
||||||
|
// sulla configurazione e sull'utilizzo di un modello Code, vedere http://go.microsoft.com/fwlink/?LinkId=390109.
|
||||||
|
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
public virtual DbSet<DatabaseModels.BasketsModel> DbSetBaskets { get; set; }
|
||||||
|
public virtual DbSet<DatabaseModels.CompanyModel> DbSetCompanies { get; set; }
|
||||||
|
public virtual DbSet<DatabaseModels.FluxCountersModel> DbSetCounters { get; set; }
|
||||||
|
public virtual DbSet<DatabaseModels.CustomersModel> DbSetCustomers { get; set; }
|
||||||
|
public virtual DbSet<DatabaseModels.DocsModel> DbSetDocs { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<DatabaseModels.Fatt2DocModel> DbSetFatt2Doc { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<DatabaseModels.ItemsModel> DbSetItems { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<DatabaseModels.NegotiationsModel> DbSetNegotiations { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<DatabaseModels.ResourcesModel> DbSetResources { get; set; }
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Protected Methods
|
||||||
|
|
||||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
base.OnModelCreating(modelBuilder);
|
||||||
|
|
||||||
|
// Precision attribute for decimals
|
||||||
|
Precision.ConfigureModelBuilder(modelBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Protected Methods
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||||
|
// set di attributi. Modificare i valori di questi attributi per modificare le informazioni
|
||||||
|
// associate a un assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Icoel.DataLayer")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Icoel.DataLayer")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili
|
||||||
|
// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da
|
||||||
|
// COM, impostare su true l'attributo ComVisible per tale tipo.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi
|
||||||
|
[assembly: Guid("e36544cb-d699-48d8-9f81-c2758e7c7d19")]
|
||||||
|
|
||||||
|
// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori:
|
||||||
|
//
|
||||||
|
// Versione principale
|
||||||
|
// Versione secondaria
|
||||||
|
// Numero di build
|
||||||
|
// Revisione
|
||||||
|
//
|
||||||
|
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
|
||||||
|
// usando l'asterisco '*' come illustrato di seguito:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe per accesso dati SyncState del DB
|
||||||
|
/// </summary>
|
||||||
|
public partial class SyncStateDbContext : DbContext
|
||||||
|
{
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore implicito
|
||||||
|
/// </summary>
|
||||||
|
public SyncStateDbContext() : base("name=SyncState")
|
||||||
|
{
|
||||||
|
Log.Info("Init 01 SyncStateDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore da connectionString
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="connectionString"></param>
|
||||||
|
public SyncStateDbContext(string connectionString) : base(connectionString)
|
||||||
|
{
|
||||||
|
Log.Info("Init 02 SyncStateDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet dei dati stato sync DB esterni <--> locale
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<SyncStateModel> DbSetSyncState { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet CurrData
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<CurrDataModel> DbSetCurrData { get; set; }
|
||||||
|
|
||||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Data.Entity;
|
||||||
|
using System.Linq;
|
||||||
|
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.DataLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe per accesso dati Tacker ICOEL
|
||||||
|
/// </summary>
|
||||||
|
public partial class TrackerDbContext : DbContext
|
||||||
|
{
|
||||||
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore implicito
|
||||||
|
/// </summary>
|
||||||
|
public TrackerDbContext() : base("name=TrackerLotti")
|
||||||
|
{
|
||||||
|
Log.Info("Init 01 TrackerDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Costruttore da connectionString
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="connectionString"></param>
|
||||||
|
public TrackerDbContext(string connectionString) : base(connectionString)
|
||||||
|
{
|
||||||
|
Log.Info("Init 02 TrackerDbContext - DONE");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet dai dati conferimento <--> pack di uscita
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<DettConferimentoModel> DbSetConferimento { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DbSet dai dati conferimento <--> confezioni
|
||||||
|
/// </summary>
|
||||||
|
public virtual DbSet<DettConfezioniModel> DbSetConfezioni { get; set; }
|
||||||
|
|
||||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="EntityFramework" version="6.4.4" targetFramework="net462" />
|
||||||
|
<package id="NLog" version="5.2.3" targetFramework="net462" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||||
|
<package id="System.IO" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.Memory" version="4.5.5" targetFramework="net462" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net462" />
|
||||||
|
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.Security.AccessControl" version="6.0.0" targetFramework="net462" />
|
||||||
|
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
|
||||||
|
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net462" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</configSections>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
|
</startup>
|
||||||
|
<entityFramework>
|
||||||
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
|
</providers>
|
||||||
|
</entityFramework>
|
||||||
|
<appSettings>
|
||||||
|
<add key="IndirizzoIpSizer" value="192.168.137.50" />
|
||||||
|
<add key="SizerTcpPort" value="8001" />
|
||||||
|
<add key="EntrataFrontiera" value="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||||
|
<add key="ExportIcoel" value="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||||
|
<add key="TrackerLotti" value="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||||
|
<add key="SyncState" value="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||||
|
</appSettings>
|
||||||
|
<system.serviceModel>
|
||||||
|
<bindings>
|
||||||
|
<netNamedPipeBinding>
|
||||||
|
<binding name="NetNamedPipeBinding_ISizerService">
|
||||||
|
<security mode="None" />
|
||||||
|
</binding>
|
||||||
|
</netNamedPipeBinding>
|
||||||
|
<wsHttpBinding>
|
||||||
|
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||||
|
<security mode="None" />
|
||||||
|
</binding>
|
||||||
|
</wsHttpBinding>
|
||||||
|
</bindings>
|
||||||
|
<client>
|
||||||
|
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||||
|
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||||
|
</client>
|
||||||
|
</system.serviceModel>
|
||||||
|
<!--
|
||||||
|
<connectionStrings>
|
||||||
|
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="ExportIcoel" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="TrackerLotti" connectionString="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||||
|
<add name="SyncState" connectionString="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||||
|
</connectionStrings>
|
||||||
|
-->
|
||||||
|
<runtime>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{A655A6AC-5997-46F9-9752-8C621B80516C}</ProjectGuid>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<RootNamespace>EgwProxy.Icoel.Test</RootNamespace>
|
||||||
|
<AssemblyName>EgwProxy.Icoel.Test</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
<None Include="batch.ini">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Include="conf.ini">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="INI\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\EgwProxy.Icoel.DataLayer\EgwProxy.Icoel.DataLayer.csproj">
|
||||||
|
<Project>{e36544cb-d699-48d8-9f81-c2758e7c7d19}</Project>
|
||||||
|
<Name>EgwProxy.Icoel.DataLayer</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\EgwProxy.Icoel\EgwProxy.Icoel.csproj">
|
||||||
|
<Project>{c45f5e6e-866b-4a34-a598-29aab2d178ad}</Project>
|
||||||
|
<Name>EgwProxy.Icoel</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.INI
|
||||||
|
{
|
||||||
|
class BatchDetails
|
||||||
|
{
|
||||||
|
private const string NameFile = "batch.ini";
|
||||||
|
private readonly IniFile _sett;
|
||||||
|
|
||||||
|
|
||||||
|
public BatchDetails()
|
||||||
|
{
|
||||||
|
_sett = new IniFile();
|
||||||
|
}
|
||||||
|
public string GrowerCode
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Batch", "GrowerCode"); }
|
||||||
|
set { _sett.SetKeyValue("Batch", "GrowerCode", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GrowerName
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Batch", "GrowerName"); }
|
||||||
|
set { _sett.SetKeyValue("Batch", "GrowerName", value); }
|
||||||
|
}
|
||||||
|
public string Comment1
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Batch", "Comment1"); }
|
||||||
|
set { _sett.SetKeyValue("Batch", "Comment1", value); }
|
||||||
|
}
|
||||||
|
public string Comment2
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Batch", "Comment2"); }
|
||||||
|
set { _sett.SetKeyValue("Batch", "Comment2", value); }
|
||||||
|
}
|
||||||
|
public string Comment3
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Batch", "Comment3"); }
|
||||||
|
set { _sett.SetKeyValue("Batch", "Comment3", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Load()
|
||||||
|
{
|
||||||
|
if (!File.Exists(NameFile))
|
||||||
|
{
|
||||||
|
var fs = File.Create(NameFile);
|
||||||
|
fs.Close();
|
||||||
|
}
|
||||||
|
_sett.Load(NameFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Save()
|
||||||
|
{
|
||||||
|
_sett.Save(NameFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,479 @@
|
|||||||
|
/*
|
||||||
|
Date: 08\23\2010 - Ludvik Jerabek - Initial Release
|
||||||
|
Version: 1.0
|
||||||
|
Comment: Allow INI manipulation in .NET
|
||||||
|
License: CPOL
|
||||||
|
|
||||||
|
Revisions:
|
||||||
|
|
||||||
|
08\23\2010 - Ludvik Jerabek - Initial Release
|
||||||
|
11\12\2010 - Ludvik Jerabek - Fixed section regex matching on key values with brackets
|
||||||
|
06\20\2015 - Ludvik Jerabek - Fixed key parsing regex to account for keys with spaces in names
|
||||||
|
|
||||||
|
|
||||||
|
**DISCLAIMER**
|
||||||
|
THIS MATERIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT Not LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, OR NON-INFRINGEMENT. SOME JURISDICTIONS DO NOT ALLOW THE
|
||||||
|
EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT
|
||||||
|
APPLY TO YOU. IN NO EVENT WILL I BE LIABLE TO ANY PARTY FOR ANY
|
||||||
|
DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES FOR ANY
|
||||||
|
USE OF THIS MATERIAL INCLUDING, WITHOUT LIMITATION, ANY LOST
|
||||||
|
PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR OTHER DATA ON
|
||||||
|
YOUR INFORMATION HANDLING SYSTEM OR OTHERWISE, EVEN If WE ARE
|
||||||
|
EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.IO;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
// IniFile class used to read and write ini files by loading the file into memory
|
||||||
|
public class IniFile
|
||||||
|
{
|
||||||
|
// List of IniSection objects keeps track of all the sections in the INI file
|
||||||
|
private Hashtable m_sections;
|
||||||
|
|
||||||
|
// Public constructor
|
||||||
|
public IniFile()
|
||||||
|
{
|
||||||
|
m_sections = new Hashtable(StringComparer.InvariantCultureIgnoreCase);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loads the Reads the data in the ini file into the IniFile object
|
||||||
|
public void Load(string sFileName )
|
||||||
|
{
|
||||||
|
Load(sFileName, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loads the Reads the data in the ini file into the IniFile object
|
||||||
|
public void Load(string sFileName, bool bMerge )
|
||||||
|
{
|
||||||
|
if (!bMerge)
|
||||||
|
{
|
||||||
|
RemoveAllSections();
|
||||||
|
}
|
||||||
|
// Clear the object...
|
||||||
|
IniSection tempsection = null;
|
||||||
|
StreamReader oReader = new StreamReader(sFileName);
|
||||||
|
Regex regexcomment = new Regex("^([\\s]*#.*)", (RegexOptions.Singleline | RegexOptions.IgnoreCase));
|
||||||
|
Regex regexsection = new Regex("^[\\s]*\\[[\\s]*([^\\[\\s].*[^\\s\\]])[\\s]*\\][\\s]*$", (RegexOptions.Singleline | RegexOptions.IgnoreCase));
|
||||||
|
Regex regexkey = new Regex("^\\s*([^=]*[^\\s=])\\s*=(.*)", (RegexOptions.Singleline | RegexOptions.IgnoreCase));
|
||||||
|
|
||||||
|
while (!oReader.EndOfStream)
|
||||||
|
{
|
||||||
|
string line = oReader.ReadLine();
|
||||||
|
if (line != string.Empty)
|
||||||
|
{
|
||||||
|
Match m = null;
|
||||||
|
if (regexcomment.Match(line).Success)
|
||||||
|
{
|
||||||
|
m = regexcomment.Match(line);
|
||||||
|
Trace.WriteLine(string.Format("Skipping Comment: {0}", m.Groups[0].Value));
|
||||||
|
}
|
||||||
|
else if (regexsection.Match(line).Success)
|
||||||
|
{
|
||||||
|
m = regexsection.Match(line);
|
||||||
|
Trace.WriteLine(string.Format("Adding section [{0}]", m.Groups[1].Value));
|
||||||
|
tempsection = AddSection(m.Groups[1].Value);
|
||||||
|
}
|
||||||
|
else if ( regexkey.Match(line).Success && tempsection != null)
|
||||||
|
{
|
||||||
|
m = regexkey.Match(line);
|
||||||
|
Trace.WriteLine(string.Format("Adding Key [{0}]=[{1}]", m.Groups[1].Value, m.Groups[2].Value));
|
||||||
|
tempsection.AddKey(m.Groups[1].Value).Value = m.Groups[2].Value;
|
||||||
|
}
|
||||||
|
else if ( tempsection != null )
|
||||||
|
{
|
||||||
|
// Handle Key without Value
|
||||||
|
Trace.WriteLine(string.Format("Adding Key [{0}]", line));
|
||||||
|
tempsection.AddKey(line);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// This should not occur unless the tempsection is not created yet...
|
||||||
|
Trace.WriteLine(string.Format("Skipping unknown type of data: {0}", line));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
oReader.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used to save the data back to the file or your choice
|
||||||
|
public void Save(string sFileName)
|
||||||
|
{
|
||||||
|
StreamWriter oWriter = new StreamWriter(sFileName, false);
|
||||||
|
foreach (IniSection s in Sections)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(string.Format("Writing Section: [{0}]", s.Name));
|
||||||
|
oWriter.WriteLine(string.Format("[{0}]", s.Name));
|
||||||
|
foreach (IniSection.IniKey k in s.Keys)
|
||||||
|
{
|
||||||
|
if (k.Value != string.Empty)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(string.Format("Writing Key: {0}={1}", k.Name, k.Value));
|
||||||
|
oWriter.WriteLine(string.Format("{0}={1}", k.Name, k.Value));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Trace.WriteLine(string.Format("Writing Key: {0}", k.Name));
|
||||||
|
oWriter.WriteLine(string.Format("{0}", k.Name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
oWriter.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gets all the sections names
|
||||||
|
public System.Collections.ICollection Sections
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_sections.Values;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adds a section to the IniFile object, returns a IniSection object to the new or existing object
|
||||||
|
public IniSection AddSection(string sSection )
|
||||||
|
{
|
||||||
|
IniSection s = null;
|
||||||
|
sSection = sSection.Trim();
|
||||||
|
// Trim spaces
|
||||||
|
if (m_sections.ContainsKey(sSection))
|
||||||
|
{
|
||||||
|
s = (IniSection)m_sections[sSection];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s = new IniSection(this, sSection);
|
||||||
|
m_sections[sSection] = s;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes a section by its name sSection, returns trus on success
|
||||||
|
public bool RemoveSection(string sSection)
|
||||||
|
{
|
||||||
|
sSection = sSection.Trim();
|
||||||
|
return RemoveSection(GetSection(sSection));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes section by object, returns trus on success
|
||||||
|
public bool RemoveSection(IniSection Section)
|
||||||
|
{
|
||||||
|
if (Section != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
m_sections.Remove(Section.Name);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch( Exception ex )
|
||||||
|
{
|
||||||
|
Trace.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes all existing sections, returns trus on success
|
||||||
|
public bool RemoveAllSections()
|
||||||
|
{
|
||||||
|
m_sections.Clear();
|
||||||
|
return (m_sections.Count == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an IniSection to the section by name, NULL if it was not found
|
||||||
|
public IniSection GetSection(string sSection)
|
||||||
|
{
|
||||||
|
sSection = sSection.Trim();
|
||||||
|
// Trim spaces
|
||||||
|
if (m_sections.ContainsKey(sSection))
|
||||||
|
{
|
||||||
|
return (IniSection)m_sections[sSection];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns a KeyValue in a certain section
|
||||||
|
public string GetKeyValue(string sSection, string sKey)
|
||||||
|
{
|
||||||
|
IniSection s = GetSection(sSection);
|
||||||
|
if (s != null)
|
||||||
|
{
|
||||||
|
IniSection.IniKey k = s.GetKey(sKey);
|
||||||
|
if (k != null)
|
||||||
|
{
|
||||||
|
return k.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets a KeyValuePair in a certain section
|
||||||
|
public bool SetKeyValue(string sSection, string sKey, string sValue)
|
||||||
|
{
|
||||||
|
IniSection s = AddSection(sSection);
|
||||||
|
if (s != null)
|
||||||
|
{
|
||||||
|
IniSection.IniKey k = s.AddKey(sKey);
|
||||||
|
if (k != null)
|
||||||
|
{
|
||||||
|
k.Value = sValue;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Renames an existing section returns true on success, false if the section didn't exist or there was another section with the same sNewSection
|
||||||
|
public bool RenameSection(string sSection, string sNewSection)
|
||||||
|
{
|
||||||
|
// Note string trims are done in lower calls.
|
||||||
|
bool bRval = false;
|
||||||
|
IniSection s = GetSection(sSection);
|
||||||
|
if (s != null)
|
||||||
|
{
|
||||||
|
bRval = s.SetName(sNewSection);
|
||||||
|
}
|
||||||
|
return bRval;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Renames an existing key returns true on success, false if the key didn't exist or there was another section with the same sNewKey
|
||||||
|
public bool RenameKey(string sSection, string sKey, string sNewKey)
|
||||||
|
{
|
||||||
|
// Note string trims are done in lower calls.
|
||||||
|
IniSection s = GetSection(sSection);
|
||||||
|
if (s != null)
|
||||||
|
{
|
||||||
|
IniSection.IniKey k = s.GetKey(sKey);
|
||||||
|
if (k != null)
|
||||||
|
{
|
||||||
|
return k.SetName(sNewKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IniSection class
|
||||||
|
public class IniSection
|
||||||
|
{
|
||||||
|
// IniFile IniFile object instance
|
||||||
|
private IniFile m_pIniFile;
|
||||||
|
// Name of the section
|
||||||
|
private string m_sSection;
|
||||||
|
// List of IniKeys in the section
|
||||||
|
private Hashtable m_keys;
|
||||||
|
|
||||||
|
// Constuctor so objects are internally managed
|
||||||
|
protected internal IniSection(IniFile parent, string sSection)
|
||||||
|
{
|
||||||
|
m_pIniFile = parent;
|
||||||
|
m_sSection = sSection;
|
||||||
|
m_keys = new Hashtable(StringComparer.InvariantCultureIgnoreCase);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns and hashtable of keys associated with the section
|
||||||
|
public System.Collections.ICollection Keys
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_keys.Values;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns the section name
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_sSection;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adds a key to the IniSection object, returns a IniKey object to the new or existing object
|
||||||
|
public IniKey AddKey(string sKey)
|
||||||
|
{
|
||||||
|
sKey = sKey.Trim();
|
||||||
|
IniSection.IniKey k = null;
|
||||||
|
if (sKey.Length != 0)
|
||||||
|
{
|
||||||
|
if (m_keys.ContainsKey(sKey))
|
||||||
|
{
|
||||||
|
k = (IniKey)m_keys[sKey];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
k = new IniSection.IniKey(this, sKey);
|
||||||
|
m_keys[sKey] = k;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes a single key by string
|
||||||
|
public bool RemoveKey(string sKey)
|
||||||
|
{
|
||||||
|
return RemoveKey(GetKey(sKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes a single key by IniKey object
|
||||||
|
public bool RemoveKey(IniKey Key)
|
||||||
|
{
|
||||||
|
if (Key != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
m_keys.Remove(Key.Name);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removes all the keys in the section
|
||||||
|
public bool RemoveAllKeys()
|
||||||
|
{
|
||||||
|
m_keys.Clear();
|
||||||
|
return (m_keys.Count == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns a IniKey object to the key by name, NULL if it was not found
|
||||||
|
public IniKey GetKey(string sKey)
|
||||||
|
{
|
||||||
|
sKey = sKey.Trim();
|
||||||
|
if (m_keys.ContainsKey(sKey))
|
||||||
|
{
|
||||||
|
return (IniKey)m_keys[sKey];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets the section name, returns true on success, fails if the section
|
||||||
|
// name sSection already exists
|
||||||
|
public bool SetName(string sSection)
|
||||||
|
{
|
||||||
|
sSection = sSection.Trim();
|
||||||
|
if (sSection.Length != 0)
|
||||||
|
{
|
||||||
|
// Get existing section if it even exists...
|
||||||
|
IniSection s = m_pIniFile.GetSection(sSection);
|
||||||
|
if (s != this && s != null) return false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Remove the current section
|
||||||
|
m_pIniFile.m_sections.Remove(m_sSection);
|
||||||
|
// Set the new section name to this object
|
||||||
|
m_pIniFile.m_sections[sSection] = this;
|
||||||
|
// Set the new section name
|
||||||
|
m_sSection = sSection;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns the section name
|
||||||
|
public string GetName()
|
||||||
|
{
|
||||||
|
return m_sSection;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IniKey class
|
||||||
|
public class IniKey
|
||||||
|
{
|
||||||
|
// Name of the Key
|
||||||
|
private string m_sKey;
|
||||||
|
// Value associated
|
||||||
|
private string m_sValue;
|
||||||
|
// Pointer to the parent CIniSection
|
||||||
|
private IniSection m_section;
|
||||||
|
|
||||||
|
// Constuctor so objects are internally managed
|
||||||
|
protected internal IniKey(IniSection parent, string sKey)
|
||||||
|
{
|
||||||
|
m_section = parent;
|
||||||
|
m_sKey = sKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns the name of the Key
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_sKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets or Gets the Value of the key
|
||||||
|
public string Value
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_sValue;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
m_sValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets the Value of the key
|
||||||
|
public void SetValue(string sValue)
|
||||||
|
{
|
||||||
|
m_sValue = sValue;
|
||||||
|
}
|
||||||
|
// Returns the Value of the Key
|
||||||
|
public string GetValue()
|
||||||
|
{
|
||||||
|
return m_sValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets the key name
|
||||||
|
// Returns true on success, fails if the section name sKey already exists
|
||||||
|
public bool SetName(string sKey)
|
||||||
|
{
|
||||||
|
sKey = sKey.Trim();
|
||||||
|
if (sKey.Length != 0)
|
||||||
|
{
|
||||||
|
IniKey k = m_section.GetKey(sKey);
|
||||||
|
if (k != this && k != null) return false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Remove the current key
|
||||||
|
m_section.m_keys.Remove(m_sKey);
|
||||||
|
// Set the new key name to this object
|
||||||
|
m_section.m_keys[sKey] = this;
|
||||||
|
// Set the new key name
|
||||||
|
m_sKey = sKey;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Trace.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns the name of the Key
|
||||||
|
public string GetName()
|
||||||
|
{
|
||||||
|
return m_sKey;
|
||||||
|
}
|
||||||
|
} // End of IniKey class
|
||||||
|
} // End of IniSection class
|
||||||
|
} // End of IniFile class
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.Test.INI
|
||||||
|
{
|
||||||
|
public class Settaggi
|
||||||
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
public Settaggi()
|
||||||
|
{
|
||||||
|
_sett = new IniFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
public string IndirizzoIpSizer
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Sizer", "IndirizzoIp"); }
|
||||||
|
set { _sett.SetKeyValue("Sizer", "IndirizzoIp", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string IndirizzoIpSizerClient
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Sizer", "IndirizzoIpTracciabilità"); }
|
||||||
|
set { _sett.SetKeyValue("Sizer", "IndirizzoIpTracciabilità", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string SizerTcpPort
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Sizer", "TcpPort"); }
|
||||||
|
set { _sett.SetKeyValue("Sizer", "TcpPort", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string TcpPortSizerClient
|
||||||
|
{
|
||||||
|
get { return _sett.GetKeyValue("Sizer", "TcpPortTracciabilità"); }
|
||||||
|
set { _sett.SetKeyValue("Sizer", "TcpPortTracciabilità", value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
public void Load()
|
||||||
|
{
|
||||||
|
if (!File.Exists(NameFile))
|
||||||
|
{
|
||||||
|
var fs = File.Create(NameFile);
|
||||||
|
fs.Close();
|
||||||
|
}
|
||||||
|
_sett.Load(NameFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Save()
|
||||||
|
{
|
||||||
|
_sett.Save(NameFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private const string NameFile = "conf.ini";
|
||||||
|
private readonly IniFile _sett;
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,385 @@
|
|||||||
|
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||||
|
using EgwProxy.Icoel.SizerService;
|
||||||
|
//using EgwProxy.Icoel.Test.INI;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.Test
|
||||||
|
{
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
#region Internal Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra tutte le metriche di performance ricevute
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="perfMeter"></param>
|
||||||
|
internal static void DisplayPerfMeter(Dictionary<string, double> perfMeter)
|
||||||
|
{
|
||||||
|
// mostra tutti i parametri rilevati...
|
||||||
|
foreach (var item in perfMeter)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{item.Key} | {item.Value:N2}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra tutte le metriche di performance ricevute
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
internal static void DisplayCurrBatch(Dictionary<string, string> currData)
|
||||||
|
{
|
||||||
|
// mostra tutti i parametri rilevati...
|
||||||
|
foreach (var item in currData)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{item.Key} | {item.Value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Generazione di una list di info sui dati variety
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="varietiesList"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
internal static void DisplayVariety(Variety[] varietyData)
|
||||||
|
{
|
||||||
|
foreach (var item in varietyData)
|
||||||
|
{
|
||||||
|
Console.WriteLine("--------------------------");
|
||||||
|
Console.WriteLine($"Variety Id: {item.Id} | Variety Name: {item.Name}");
|
||||||
|
Console.WriteLine(" - Qualities");
|
||||||
|
foreach (var quality in item.Qualities)
|
||||||
|
{
|
||||||
|
Console.WriteLine($" Name: {quality.Name}");
|
||||||
|
}
|
||||||
|
Console.WriteLine(" - Grades");
|
||||||
|
foreach (var grade in item.Grades)
|
||||||
|
{
|
||||||
|
Console.WriteLine($" Name: {grade.Name}");
|
||||||
|
}
|
||||||
|
Console.WriteLine(" - Sizes");
|
||||||
|
foreach (var size in item.SizingMaps)
|
||||||
|
{
|
||||||
|
Console.WriteLine($" Name: {size.Name}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <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}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra elenco variety e quanod utente seleziona restituisce varGuid
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
internal static Guid selLayout(Connector IcoelSizer, Guid varGuid)
|
||||||
|
{
|
||||||
|
int idxLay = -1;
|
||||||
|
Guid layGuid = Guid.NewGuid();
|
||||||
|
|
||||||
|
// recupero layout della varietà
|
||||||
|
var layoutList = IcoelSizer.GetLayoutForVariety(varGuid);
|
||||||
|
|
||||||
|
Console.WriteLine("--------------------");
|
||||||
|
Console.WriteLine("Layout disponibili:");
|
||||||
|
Console.WriteLine("--------------------");
|
||||||
|
DisplayLayout(layoutList);
|
||||||
|
// recupero layout x varietà
|
||||||
|
while (idxLay <= 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine("");
|
||||||
|
Console.WriteLine("indicare layout");
|
||||||
|
var rawData = Console.ReadLine();
|
||||||
|
if (!string.IsNullOrEmpty(rawData))
|
||||||
|
{
|
||||||
|
int.TryParse(rawData, out idxLay);
|
||||||
|
// verifico sia valida..
|
||||||
|
if (layoutList.Length >= idxLay && idxLay > 0)
|
||||||
|
{
|
||||||
|
layGuid = layoutList[idxLay - 1].Id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
idxLay = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return layGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mostra elenco variety e quanod utente seleziona restituisce varGuid
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
internal static Guid selVariety(Connector IcoelSizer)
|
||||||
|
{
|
||||||
|
int idxVar = -1;
|
||||||
|
Guid varGuid = Guid.NewGuid();
|
||||||
|
var varList = IcoelSizer.GetVarietyList(true);
|
||||||
|
|
||||||
|
Console.WriteLine("--------------------");
|
||||||
|
Console.WriteLine("Varietà disponibili:");
|
||||||
|
Console.WriteLine("--------------------");
|
||||||
|
DisplayVariety(varList);
|
||||||
|
// chiedo di selezionare
|
||||||
|
while (idxVar <= 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine("");
|
||||||
|
Console.WriteLine("indicare varietà richiesta (#)");
|
||||||
|
var rawData = Console.ReadLine();
|
||||||
|
if (!string.IsNullOrEmpty(rawData))
|
||||||
|
{
|
||||||
|
int.TryParse(rawData, out idxVar);
|
||||||
|
// verifico sia valida..
|
||||||
|
if (varList.Length >= idxVar && idxVar > 0)
|
||||||
|
{
|
||||||
|
varGuid = varList[idxVar - 1].Id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
idxVar = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return varGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Internal Methods
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Generazione di una list di layout dato elenco
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="layoutList"></param>
|
||||||
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
|
internal static void DisplayLayout(Layout[] layoutList)
|
||||||
|
{
|
||||||
|
foreach (var layout in layoutList)
|
||||||
|
{
|
||||||
|
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}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// legge conf in formato stringa
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected static string ReadSetting(string key)
|
||||||
|
{
|
||||||
|
string answ = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = $"{ConfigurationManager.AppSettings[key]}" ?? "";
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
Console.Write("Eccezione in ReadSettings");
|
||||||
|
Console.Write(exc.Message);
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Programma principale
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="args"></param>
|
||||||
|
private static void Main(string[] args)
|
||||||
|
{
|
||||||
|
// leggo conf da file ini (ip/port)
|
||||||
|
Console.WriteLine("Loading Files...");
|
||||||
|
string userInput = "";
|
||||||
|
|
||||||
|
Console.WriteLine("------------ Test DB ------------");
|
||||||
|
EgwProxy.Icoel.DbProxy dbProxy = new DbProxy(ReadSetting("SyncState"));
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("--- SyncState ---");
|
||||||
|
bool needRedo = true;
|
||||||
|
int numTry = 1;
|
||||||
|
//int numTry = 3;
|
||||||
|
var elencoSyncState = dbProxy.DataController.SyncStateGetAll();
|
||||||
|
while (needRedo && numTry >= 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine(" --- PRE --- ");
|
||||||
|
if (elencoSyncState != null)
|
||||||
|
{
|
||||||
|
foreach (var item in elencoSyncState)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}");
|
||||||
|
// verifico se serva redo..
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
Console.ReadKey();
|
||||||
|
Stopwatch sw = new Stopwatch();
|
||||||
|
sw.Start();
|
||||||
|
elencoSyncState = dbProxy.DataController.SyncStateDoImportAll();
|
||||||
|
sw.Stop();
|
||||||
|
Console.WriteLine($" process time: {sw.ElapsedMilliseconds} ms ");
|
||||||
|
Console.WriteLine(" --- POST --- ");
|
||||||
|
if (elencoSyncState != null)
|
||||||
|
{
|
||||||
|
foreach (var item in elencoSyncState)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}");
|
||||||
|
// verifico se serva redo..
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// processo
|
||||||
|
needRedo = testNeedRedo(elencoSyncState);
|
||||||
|
numTry--;
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
Console.ReadKey();
|
||||||
|
|
||||||
|
// oggetto x connessione al sizer icoel
|
||||||
|
Connector IcoelSizer = new Connector(ReadSetting("IndirizzoIpSizer"), ReadSetting("SizerTcpPort"));
|
||||||
|
//Connector IcoelSizer = new Connector(setup.IndirizzoIpSizer, setup.SizerTcpPort);
|
||||||
|
|
||||||
|
Console.WriteLine("------------ Parametri CurrBatch rilevati ------------");
|
||||||
|
var cBatch = IcoelSizer.GetCurrBatchData();
|
||||||
|
if (cBatch != null)
|
||||||
|
{
|
||||||
|
DisplayCurrBatch(cBatch);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ora effettua un pò di letture/scritture
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
Console.WriteLine("------------ TUTTE variety ------------");
|
||||||
|
var varList = IcoelSizer.GetVarietyList(false);
|
||||||
|
var varietyData = IcoelSizer.GetLayoutForVarietyList(varList);
|
||||||
|
if (varietyData != null)
|
||||||
|
{
|
||||||
|
DisplayVarietyLayout(varietyData);
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
userInput = Console.ReadLine();
|
||||||
|
|
||||||
|
|
||||||
|
Console.WriteLine("------------ Parametri velocità rilevati ------------");
|
||||||
|
var perfMeter = IcoelSizer.GetPerfMeters();
|
||||||
|
if (perfMeter != null)
|
||||||
|
{
|
||||||
|
DisplayPerfMeter(perfMeter);
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
userInput = Console.ReadLine();
|
||||||
|
|
||||||
|
// solo attive
|
||||||
|
Console.WriteLine("------------ solo attive ------------");
|
||||||
|
varList = IcoelSizer.GetVarietyList();
|
||||||
|
varietyData = IcoelSizer.GetLayoutForVarietyList(varList);
|
||||||
|
if (varietyData != null)
|
||||||
|
{
|
||||||
|
DisplayVarietyLayout(varietyData);
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
userInput = Console.ReadLine();
|
||||||
|
|
||||||
|
Console.WriteLine("------------ BATCH correnti ------------");
|
||||||
|
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}");
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine("Premere un tasto x continuare...");
|
||||||
|
userInput = Console.ReadLine();
|
||||||
|
|
||||||
|
Console.WriteLine("------------ Prova invio BATCH ------------");
|
||||||
|
// recupero GUID x variety e layout
|
||||||
|
var varGuid = selVariety(IcoelSizer);
|
||||||
|
var layGuid = selLayout(IcoelSizer, varGuid);
|
||||||
|
|
||||||
|
GrowerInfo GrowerData = new GrowerInfo();
|
||||||
|
IcoelSizer.EnqueueBatch(GrowerData, varGuid, layGuid);
|
||||||
|
|
||||||
|
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}");
|
||||||
|
}
|
||||||
|
Console.WriteLine("Test completato");
|
||||||
|
Console.WriteLine("Premere un tasto x chiudere");
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("ECCEZIONE" + ex.Message + ex.StackTrace);
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifico necessità di rifare sync
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="elencoSyncState"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
|
private static bool testNeedRedo(List<SyncStateModel> elencoSyncState)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
foreach (var item in elencoSyncState)
|
||||||
|
{
|
||||||
|
answ = answ || (item.NumRecIn > item.NumRec || item.LastIdxIn > item.LastIdx);
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion Private Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("EgwProxy.Icoel.Test")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EgwProxy.Icoel.Test")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("a655a6ac-5997-46f9-9752-8c621b80516c")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[Batch]
|
||||||
|
GrowerCode=02
|
||||||
|
GrowerName=Egalware
|
||||||
|
Comment1=Prova Invio
|
||||||
|
Comment2=Console app
|
||||||
|
Comment3=Selezionato Variety e layout
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[Sizer]
|
||||||
|
IndirizzoIp=192.168.137.50
|
||||||
|
TcpPort=8001
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</configSections>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
|
</startup>
|
||||||
|
<system.serviceModel>
|
||||||
|
<bindings>
|
||||||
|
<netNamedPipeBinding>
|
||||||
|
<binding name="NetNamedPipeBinding_ISizerService">
|
||||||
|
<security mode="None" />
|
||||||
|
</binding>
|
||||||
|
</netNamedPipeBinding>
|
||||||
|
<wsHttpBinding>
|
||||||
|
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||||
|
<security mode="None" />
|
||||||
|
</binding>
|
||||||
|
</wsHttpBinding>
|
||||||
|
</bindings>
|
||||||
|
<client>
|
||||||
|
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||||
|
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||||
|
</client>
|
||||||
|
</system.serviceModel>
|
||||||
|
<entityFramework>
|
||||||
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
|
</providers>
|
||||||
|
</entityFramework>
|
||||||
|
<connectionStrings>
|
||||||
|
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||||
|
</connectionStrings>
|
||||||
|
<runtime>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
# Appunti impiego connesisoni ICOEL
|
||||||
|
|
||||||
|
## Icoel SOAP
|
||||||
|
|
||||||
|
Oltre ai metodi legati al batch, ci sono questi metodi x recuperare informazioni specifiche di produttività
|
||||||
|
|
||||||
|
| Metodo | Descrizione |
|
||||||
|
| ---------- | ---------- |
|
||||||
|
| GetMachineTonnesPH() | valore tonnellate/ora di velocità impianto |
|
||||||
|
| GetMachineTotalFPM() | valore frutti per minuto |
|
||||||
|
| GetMachineRodsPM() | velocità catena (carrellini / minuto) |
|
||||||
|
| GetMachineCupfill() | percentuale riempimento carrellini (100% = 1 frutto x ogni carrellino) |
|
||||||
|
|
||||||
|
|
||||||
|
## Icoel DB
|
||||||
|
|
||||||
|
Appunti sulla gestione tabelle di frontiera
|
||||||
|
|
||||||
|
### Products total
|
||||||
|
|
||||||
|
/****** Script for SelectTopNRows command from SSMS ******/
|
||||||
|
SELECT TOP (1000) [SizerBatchId]
|
||||||
|
,[Index]
|
||||||
|
,[Nome]
|
||||||
|
,[Qualities]
|
||||||
|
,[Grado]
|
||||||
|
,[Calibro]
|
||||||
|
,[NumeroFrutti]
|
||||||
|
,[Decigrammi]
|
||||||
|
FROM [IcoelExport].[dbo].[ProductsTotals]
|
||||||
|
|
||||||
|
|
||||||
|
### Entrata Ciliegie
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
FROM [frontiera].[dbo].[ENTRATACILIEGIE]
|
||||||
|
|
||||||
|
|
||||||
|
-- utilizzare codice e descrizione prodotto...
|
||||||
|
|
||||||
|
### Fine lavorazione
|
||||||
|
select top 100 *
|
||||||
|
from ProductsTotals
|
||||||
|
|
||||||
|
/*
|
||||||
|
SizerBatch id = id del batch da WS SOAP
|
||||||
|
Index = indice di prodotto FINITO, di cui ho il NOME
|
||||||
|
- prodotti da matrice: colonne = gradi, righe = taglie(sizes)
|
||||||
|
- grado a colore rosso
|
||||||
|
- do il nome prodotto rosse 26- (che sono da 22 a 26 in grado A)
|
||||||
|
- colonna qualities = è la "somma dei qualities" ovvero le colonne che passano nelcontrollo prodotto
|
||||||
|
- codice in 3 parametri, che sono a,b,c
|
||||||
|
- a = qualità interna (SEMPRE NULL x le ciliegie)
|
||||||
|
- b grado = qualità esterna del frutto, es rosse, nere, con stelo... ricircolo = scarto per cattiva disposizione
|
||||||
|
- c : calibri che mi definiscono la dimensione, tipicamente 22..32
|
||||||
|
|
||||||
|
|
||||||
|
si scrive tutto quando è chiuso il lotto
|
||||||
|
inizialmente 1 solo lotto x entrambe le linee
|
||||||
|
*/
|
||||||
|
|
||||||
|
### Conferimento MES
|
||||||
|
|
||||||
|
<code>
|
||||||
|
SELECT *
|
||||||
|
FROM DettagliConferimentoMES
|
||||||
|
where FillingId = 31729
|
||||||
|
order by PackId
|
||||||
|
</code>
|
||||||
|
|
||||||
|
/*
|
||||||
|
Numero lotto = sigla giorno
|
||||||
|
sigla lotto: incrementale giornaliero
|
||||||
|
|
||||||
|
in particoalre x il prodotto grosso --> seleziono da + fornitori (es fornitori grossi)
|
||||||
|
|
||||||
|
PackId = id univoco scatoletta
|
||||||
|
FillingId / FillingRow NON USATI: li posso ignorare, si applicano al caso "travaso" da bins ingresso / bins uscita "tipizzati" --> serve x precalibrare
|
||||||
|
scaricoId = operazione di scannerizzazione ( è il barcode letto)
|
||||||
|
codice a barre è letto x ogni etichetta di conferimento
|
||||||
|
codice e nome fornitore = grower
|
||||||
|
codice e descrizione prodotto : sono il GREZZO specifico
|
||||||
|
cdice prodotto grezzo è il "ceppo" / famiglia
|
||||||
|
sigla e numero lotto: colonna di entrata ciliegie (frontiera)
|
||||||
|
idem x data e qta entrata
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
### Confezioni Mes
|
||||||
|
|
||||||
|
<code>
|
||||||
|
SELECT *
|
||||||
|
FROM DettagliConfezioniMES
|
||||||
|
</code>
|
||||||
|
|
||||||
|
pack id = singola cassetta/scatoal/cartone
|
||||||
|
ean = barcode in uscita
|
||||||
|
batch id / batch name = dati tracciabilità, legato ai lotti in entrata sul sizer
|
||||||
|
lane [1/2]sizerBatchId = lotti del sizer
|
||||||
|
pesoDecigram = peso netto confezionato (tolleranza +/-10g...20gr)
|
||||||
|
|
||||||
|
tabella scritta dal momento in cui arriva il cartone/cassetta per iniziare riempimento
|
||||||
|
|
||||||
|
dati live li vediamo dal sizer
|
||||||
|
|
||||||
|
*/
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
using EgwProxy.Icoel.SizerService;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using System.ServiceModel;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel.Compac
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe di comunicazione x
|
||||||
|
/// </summary>
|
||||||
|
public class ComClient : IDisposable
|
||||||
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Oggetto client comunicazione con sizer ICOEL per invio/recupero informazioni di
|
||||||
|
/// produzione (batch)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sizerIp">Indirizzo IP del server SIZER</param>
|
||||||
|
/// <param name="port">Porta di connessione del sizer (def: 8001)</param>
|
||||||
|
public ComClient(string sizerIp, string port)
|
||||||
|
{
|
||||||
|
// Salvo IP e porta
|
||||||
|
ipAddress = sizerIp;
|
||||||
|
tcpPort = port;
|
||||||
|
|
||||||
|
// inizializzazione servizio comunicazione
|
||||||
|
var url = "http://" + sizerIp + ":" + port + "/SizerService/";
|
||||||
|
EndpointAddress epa = new EndpointAddress(new Uri(url));
|
||||||
|
SSClient = new SizerServiceClient("WSHttpBinding_ISizerService", epa);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Status di connessione del client
|
||||||
|
/// </summary>
|
||||||
|
public bool connected
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
if (SSClient != null)
|
||||||
|
{
|
||||||
|
answ = SSClient.State == CommunicationState.Opened;
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dispose dell'oggetto
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
|
||||||
|
#region Internal Properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inidirizzo IP
|
||||||
|
/// </summary>
|
||||||
|
internal string ipAddress { get; set; } = "127.0.0.1";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Porta del webservice (SOAP)
|
||||||
|
/// </summary>
|
||||||
|
internal string tcpPort { get; set; } = "8001";
|
||||||
|
|
||||||
|
#endregion Internal Properties
|
||||||
|
|
||||||
|
#region Internal Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica del grower da codice/nome con eventuale creazione se mancante
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="growerCode">Codice del produttore</param>
|
||||||
|
/// <param name="growerName">Denominazione del produttore</param>
|
||||||
|
internal void CheckGrower(string growerCode, string growerName)
|
||||||
|
{
|
||||||
|
var grower = SSClient.GetGrower(growerCode);
|
||||||
|
|
||||||
|
if (grower == null)
|
||||||
|
{
|
||||||
|
var nuovo = new Grower() { Code = growerCode, Name = growerName };
|
||||||
|
|
||||||
|
SSClient.AddGrower(nuovo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua chiusura del proxy di comunicazione
|
||||||
|
/// </summary>
|
||||||
|
internal void Close()
|
||||||
|
{
|
||||||
|
if (SSClient.State != CommunicationState.Closed)
|
||||||
|
{
|
||||||
|
SSClient.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco dei layout attivi della varietà
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="VarietyId">Guid della varietà</param>
|
||||||
|
/// <returns>Oggetto Lyout attivo</returns>
|
||||||
|
internal Layout GetActiveLayout(Guid VarietyId)
|
||||||
|
{
|
||||||
|
return SSClient.GetActiveLayout(VarietyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco varietà attive
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Array Variety attive</returns>
|
||||||
|
internal Variety[] GetActiveVarieties()
|
||||||
|
{
|
||||||
|
return SSClient.GetActiveVarieties();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco varietà (tutte)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
internal Variety[] GetAllVarieties()
|
||||||
|
{
|
||||||
|
return SSClient.GetAllVarieties();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera il batch corrente (se monolinea)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Batch corrente (singolo)</returns>
|
||||||
|
internal Batch GetCurrentBatch()
|
||||||
|
{
|
||||||
|
return SSClient.GetCurrentBatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera il batch corrente data la linea
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="lineNum">Numero della linea 1=sx/2=dx</param>
|
||||||
|
/// <returns>Batch della linea selezionata</returns>
|
||||||
|
internal Batch GetCurrentBatchByLane(int lineNum)
|
||||||
|
{
|
||||||
|
return SSClient.GetCurrentBatchByLane(lineNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco dei layout della varietà
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="VarietyId">Guid della varietà</param>
|
||||||
|
/// <returns>Layout della Variety</returns>
|
||||||
|
internal Layout[] GetLayouts(Guid VarietyId)
|
||||||
|
{
|
||||||
|
return SSClient.GetLayouts(VarietyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua chiamata per mettere in coda il lotto richiesto
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="batch">Oggetto Batch completamente popolato da accodare in richiesta</param>
|
||||||
|
internal void MettiLottoInCoda(Batch batch)
|
||||||
|
{
|
||||||
|
SSClient.AddBatch(batch);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera elenco parametri performance impianto
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Dizionario delle variabili di performance dell'impianto in formato Dictionary<string,double></returns>
|
||||||
|
internal Dictionary<string, double> GetPerfMeters()
|
||||||
|
{
|
||||||
|
Dictionary<string, double> answ = new Dictionary<string, double>();
|
||||||
|
// velocità processo indicata in tonnellate /oOra
|
||||||
|
double velTonnOra = SSClient.GetMachineTonnesPH();
|
||||||
|
// velocità espressa in frutti/minuto
|
||||||
|
double velFruttiMinuto = SSClient.GetMachineTotalFPM();
|
||||||
|
// percentuale riempimento carrellini
|
||||||
|
double percRiemp = SSClient.GetMachineCupfill();
|
||||||
|
// Numero confezioni/ora
|
||||||
|
double numPackOra = SSClient.GetMachinePacksPH();
|
||||||
|
|
||||||
|
// accodo i valori ricavati
|
||||||
|
answ.Add("NumPacksOra", numPackOra);
|
||||||
|
answ.Add("PercRiemp", percRiemp);
|
||||||
|
answ.Add("VelFruttiMinuto", velFruttiMinuto);
|
||||||
|
answ.Add("VelTonnOra", velTonnOra);
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion Internal Methods
|
||||||
|
|
||||||
|
#region Private Properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Client che inoltra le richieste al Sizer
|
||||||
|
/// </summary>
|
||||||
|
private SizerServiceClient SSClient { get; set; }
|
||||||
|
|
||||||
|
#endregion Private Properties
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
internal class IcoelSizerException : Exception
|
||||||
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
public IcoelSizerException()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public IcoelSizerException(Exception ex)
|
||||||
|
{
|
||||||
|
this.ex = ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IcoelSizerException(string message) : base(message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public IcoelSizerException(string message, Exception innerException) : base(message, innerException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Protected Constructors
|
||||||
|
|
||||||
|
protected IcoelSizerException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Protected Constructors
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private Exception ex;
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="uri:Compac.Services.Sizer.Service" />
|
||||||
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||||
|
<xs:complexType name="ArrayOfint">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
|
||||||
|
<xs:complexType name="ArrayOfdouble">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="double" type="xs:double" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfdouble" nillable="true" type="tns:ArrayOfdouble" />
|
||||||
|
<xs:complexType name="ArrayOfstring">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" />
|
||||||
|
<xs:complexType name="ArrayOfKeyValueOfstringint">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringint">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Key" nillable="true" type="xs:string" />
|
||||||
|
<xs:element name="Value" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfKeyValueOfstringint" nillable="true" type="tns:ArrayOfKeyValueOfstringint" />
|
||||||
|
<xs:complexType name="ArrayOfArrayOfKeyValueOfstringint">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="ArrayOfKeyValueOfstringint" nillable="true" type="tns:ArrayOfKeyValueOfstringint" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfArrayOfKeyValueOfstringint" nillable="true" type="tns:ArrayOfArrayOfKeyValueOfstringint" />
|
||||||
|
<xs:complexType name="ArrayOfKeyValueOfOutletProductZE8EwetR">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfOutletProductZE8EwetR">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q1="uri:Compac.Services.Sizer.Service" name="Key" nillable="true" type="q1:Outlet" />
|
||||||
|
<xs:element xmlns:q2="uri:Compac.Services.Sizer.Service" name="Value" nillable="true" type="q2:Product" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfKeyValueOfOutletProductZE8EwetR" nillable="true" type="tns:ArrayOfKeyValueOfOutletProductZE8EwetR" />
|
||||||
|
<xs:complexType name="ArrayOfKeyValueOfstringstring">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringstring">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Key" nillable="true" type="xs:string" />
|
||||||
|
<xs:element name="Value" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfKeyValueOfstringstring" nillable="true" type="tns:ArrayOfKeyValueOfstringstring" />
|
||||||
|
<xs:complexType name="ArrayOfguid">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="ser:guid" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfguid" nillable="true" type="tns:ArrayOfguid" />
|
||||||
|
<xs:complexType name="ArrayOfKeyValueOfintint">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfintint">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Key" type="xs:int" />
|
||||||
|
<xs:element name="Value" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfKeyValueOfintint" nillable="true" type="tns:ArrayOfKeyValueOfintint" />
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="urn:clr:Compac.Services.Core" elementFormDefault="qualified" targetNamespace="urn:clr:Compac.Services.Core" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/Compac.Services.Core" />
|
||||||
|
<xs:element name="GetVersion">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence />
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="GetVersionResponse">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Compac.Services.Core" minOccurs="0" name="GetVersionResult" nillable="true" type="q1:ServiceVersion" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Compac.Services.Core" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Compac.Services.Core" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/System" />
|
||||||
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||||
|
<xs:complexType name="ServiceVersion">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="InterfaceVersion" nillable="true" type="q1:Version" />
|
||||||
|
<xs:element minOccurs="0" name="ProviderName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="ProviderVersion" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ServiceVersion" nillable="true" type="tns:ServiceVersion" />
|
||||||
|
<xs:complexType name="ServiceEvent">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="EventArgs" nillable="true" type="q2:ArrayOfKeyValueOfstringstring" />
|
||||||
|
<xs:element minOccurs="0" name="EventName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="EventTime" type="xs:dateTime" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ServiceEvent" nillable="true" type="tns:ServiceEvent" />
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://Compac.Services.Core" elementFormDefault="qualified" targetNamespace="http://Compac.Services.Core" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:complexType name="ArgumentFault">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArgumentFault" nillable="true" type="tns:ArgumentFault" />
|
||||||
|
</xs:schema>
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,373 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="uri:Compac.Services.Sizer.Service" elementFormDefault="qualified" targetNamespace="uri:Compac.Services.Sizer.Service" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||||
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||||
|
<xs:complexType name="ArrayOfBatch">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Batch" nillable="true" type="tns:Batch" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfBatch" nillable="true" type="tns:ArrayOfBatch" />
|
||||||
|
<xs:complexType name="Batch">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="AvoidLayoutChange" type="xs:boolean" />
|
||||||
|
<xs:element minOccurs="0" name="AvoidSavingOldLayouts" type="xs:boolean" />
|
||||||
|
<xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Comments" nillable="true" type="q1:ArrayOfstring" />
|
||||||
|
<xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />
|
||||||
|
<xs:element minOccurs="0" name="GrowerCode" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="IsFinalized" type="xs:boolean" />
|
||||||
|
<xs:element minOccurs="0" name="LaneGroups" nillable="true" type="tns:ArrayOfLaneGroup" />
|
||||||
|
<xs:element minOccurs="0" name="LayoutId" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="LayoutName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="OverrideLayoutConflicts" type="xs:boolean" />
|
||||||
|
<xs:element minOccurs="0" name="SampleName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="SizingProfileName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
|
||||||
|
<xs:element minOccurs="0" name="TotallingVariety" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="TotallingVarietyCode" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="VarietyId" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="VarietyName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="VisionMap" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Batch" nillable="true" type="tns:Batch" />
|
||||||
|
<xs:complexType name="ArrayOfLaneGroup">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="LaneGroup" nillable="true" type="tns:LaneGroup" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfLaneGroup" nillable="true" type="tns:ArrayOfLaneGroup" />
|
||||||
|
<xs:complexType name="LaneGroup">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Lanes" nillable="true" type="q2:ArrayOfint" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="LaneGroup" nillable="true" type="tns:LaneGroup" />
|
||||||
|
<xs:complexType name="ArrayOfLayout">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Layout" nillable="true" type="tns:Layout" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfLayout" nillable="true" type="tns:ArrayOfLayout" />
|
||||||
|
<xs:complexType name="Layout">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Assignments" nillable="true" type="q3:ArrayOfKeyValueOfOutletProductZE8EwetR" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Products" nillable="true" type="tns:ArrayOfProduct" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Layout" nillable="true" type="tns:Layout" />
|
||||||
|
<xs:complexType name="Outlet">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="CurrentProductId" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="DeliveredFruitPerMinute" type="xs:double" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="LastDeliveredBatchId" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="MaxRateSquareCMPerMinute" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="PendingProductId" nillable="true" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Outlet" nillable="true" type="tns:Outlet" />
|
||||||
|
<xs:complexType name="Product">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Elements" nillable="true" type="tns:ArrayOfElement" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Pack" nillable="true" type="tns:Pack" />
|
||||||
|
<xs:element minOccurs="0" name="SpecialInstructions" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="TargetFill" nillable="true" type="tns:PackTargetFill" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Product" nillable="true" type="tns:Product" />
|
||||||
|
<xs:complexType name="ArrayOfElement">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Element" nillable="true" type="tns:Element" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfElement" nillable="true" type="tns:ArrayOfElement" />
|
||||||
|
<xs:complexType name="Element">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Grade" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Label" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Quality" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Size" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Element" nillable="true" type="tns:Element" />
|
||||||
|
<xs:complexType name="Pack">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="BoxType" nillable="true" type="tns:PackBoxType" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="PackControl" nillable="true" type="tns:PackControl" />
|
||||||
|
<xs:element minOccurs="0" name="Style" nillable="true" type="tns:PackingStyle" />
|
||||||
|
<xs:element minOccurs="0" name="TargetFill" nillable="true" type="tns:PackTargetFill" />
|
||||||
|
<xs:element minOccurs="0" name="UserCode" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Pack" nillable="true" type="tns:Pack" />
|
||||||
|
<xs:complexType name="PackBoxType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackBoxType" nillable="true" type="tns:PackBoxType" />
|
||||||
|
<xs:complexType name="PackControl">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="NumberOfSteps" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="PackChangeTime" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="PackLength" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="StepDelay" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackControl" nillable="true" type="tns:PackControl" />
|
||||||
|
<xs:complexType name="PackingStyle">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackingStyle" nillable="true" type="tns:PackingStyle" />
|
||||||
|
<xs:complexType name="PackTargetFill">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="FillMode" type="tns:PackFillMode" />
|
||||||
|
<xs:element minOccurs="0" name="Quantity" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="WeightDecigram" type="xs:decimal" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackTargetFill" nillable="true" type="tns:PackTargetFill" />
|
||||||
|
<xs:simpleType name="PackFillMode">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Weight" />
|
||||||
|
<xs:enumeration value="Quantity" />
|
||||||
|
<xs:enumeration value="WeightAndQuantity" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="PackFillMode" nillable="true" type="tns:PackFillMode" />
|
||||||
|
<xs:complexType name="ArrayOfProduct">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfProduct" nillable="true" type="tns:ArrayOfProduct" />
|
||||||
|
<xs:complexType name="Variety">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Grades" nillable="true" type="tns:ArrayOfGrade" />
|
||||||
|
<xs:element minOccurs="0" name="Id" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Qualities" nillable="true" type="tns:ArrayOfQuality" />
|
||||||
|
<xs:element minOccurs="0" name="SizingMaps" nillable="true" type="tns:ArrayOfSizingMap" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Variety" nillable="true" type="tns:Variety" />
|
||||||
|
<xs:complexType name="ArrayOfGrade">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Grade" nillable="true" type="tns:Grade" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfGrade" nillable="true" type="tns:ArrayOfGrade" />
|
||||||
|
<xs:complexType name="Grade">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Grade" nillable="true" type="tns:Grade" />
|
||||||
|
<xs:complexType name="ArrayOfQuality">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Quality" nillable="true" type="tns:Quality" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfQuality" nillable="true" type="tns:ArrayOfQuality" />
|
||||||
|
<xs:complexType name="Quality">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Quality" nillable="true" type="tns:Quality" />
|
||||||
|
<xs:complexType name="ArrayOfSizingMap">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="SizingMap" nillable="true" type="tns:SizingMap" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfSizingMap" nillable="true" type="tns:ArrayOfSizingMap" />
|
||||||
|
<xs:complexType name="SizingMap">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="CoveredQualityGrades" nillable="true" type="tns:ArrayOfQualityGradePair" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Sizes" nillable="true" type="tns:ArrayOfSize" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="SizingMap" nillable="true" type="tns:SizingMap" />
|
||||||
|
<xs:complexType name="ArrayOfQualityGradePair">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="QualityGradePair" nillable="true" type="tns:QualityGradePair" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfQualityGradePair" nillable="true" type="tns:ArrayOfQualityGradePair" />
|
||||||
|
<xs:complexType name="QualityGradePair">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Grade" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Quality" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="QualityGradePair" nillable="true" type="tns:QualityGradePair" />
|
||||||
|
<xs:complexType name="ArrayOfSize">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Size" nillable="true" type="tns:Size" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfSize" nillable="true" type="tns:ArrayOfSize" />
|
||||||
|
<xs:complexType name="Size">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Settings" nillable="true" type="q4:ArrayOfKeyValueOfstringstring" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Size" nillable="true" type="tns:Size" />
|
||||||
|
<xs:complexType name="ArrayOfVariety">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Variety" nillable="true" type="tns:Variety" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfVariety" nillable="true" type="tns:ArrayOfVariety" />
|
||||||
|
<xs:complexType name="ArrayOfPack">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Pack" nillable="true" type="tns:Pack" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfPack" nillable="true" type="tns:ArrayOfPack" />
|
||||||
|
<xs:complexType name="ArrayOfLabel">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Label" nillable="true" type="tns:Label" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfLabel" nillable="true" type="tns:ArrayOfLabel" />
|
||||||
|
<xs:complexType name="Label">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Label" nillable="true" type="tns:Label" />
|
||||||
|
<xs:complexType name="ArrayOfOutlet">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Outlet" nillable="true" type="tns:Outlet" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfOutlet" nillable="true" type="tns:ArrayOfOutlet" />
|
||||||
|
<xs:simpleType name="AlarmPriority">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Low" />
|
||||||
|
<xs:enumeration value="Medium" />
|
||||||
|
<xs:enumeration value="High" />
|
||||||
|
<xs:enumeration value="Critical" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="AlarmPriority" nillable="true" type="tns:AlarmPriority" />
|
||||||
|
<xs:complexType name="Grower">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Address1" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Address2" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="ContactName" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="EmailAddress" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Fax" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="TownCity" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="TraceabilityId" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="ZipCode" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Grower" nillable="true" type="tns:Grower" />
|
||||||
|
<xs:complexType name="ArrayOfGrower">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="Grower" nillable="true" type="tns:Grower" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfGrower" nillable="true" type="tns:ArrayOfGrower" />
|
||||||
|
<xs:complexType name="AbstractSamplingConfiguration">
|
||||||
|
<xs:sequence />
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="AbstractSamplingConfiguration" nillable="true" type="tns:AbstractSamplingConfiguration" />
|
||||||
|
<xs:complexType name="ElementSamplingConfiguration">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:extension base="tns:AbstractSamplingConfiguration">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="BatchId" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="Elements" nillable="true" type="tns:ArrayOfElement" />
|
||||||
|
<xs:element minOccurs="0" name="Limit" nillable="true" type="xs:decimal" />
|
||||||
|
<xs:element minOccurs="0" name="LimitUnit" type="tns:SamplingMeasurementUnit" />
|
||||||
|
<xs:element minOccurs="0" name="Ratio" nillable="true" type="tns:Ratio" />
|
||||||
|
<xs:element minOccurs="0" name="RatioRightUnit" type="tns:RatioMeasurementUnit" />
|
||||||
|
<xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="LaneNumbers" nillable="true" type="q5:ArrayOfint" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:extension>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ElementSamplingConfiguration" nillable="true" type="tns:ElementSamplingConfiguration" />
|
||||||
|
<xs:simpleType name="SamplingMeasurementUnit">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Pieces" />
|
||||||
|
<xs:enumeration value="Decigrams" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="SamplingMeasurementUnit" nillable="true" type="tns:SamplingMeasurementUnit" />
|
||||||
|
<xs:complexType name="Ratio">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Numerator" type="xs:int" />
|
||||||
|
<xs:element minOccurs="0" name="Denominator" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Ratio" nillable="true" type="tns:Ratio" />
|
||||||
|
<xs:simpleType name="RatioMeasurementUnit">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Pieces" />
|
||||||
|
<xs:enumeration value="CartonEquivalents" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="RatioMeasurementUnit" nillable="true" type="tns:RatioMeasurementUnit" />
|
||||||
|
<xs:complexType name="ProductSamplingConfiguration">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:extension base="tns:AbstractSamplingConfiguration">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="BatchId" type="xs:int" />
|
||||||
|
<xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="LaneNumbers" nillable="true" type="q6:ArrayOfint" />
|
||||||
|
<xs:element minOccurs="0" name="Limit" nillable="true" type="xs:decimal" />
|
||||||
|
<xs:element minOccurs="0" name="LimitUnit" type="tns:SamplingMeasurementUnit" />
|
||||||
|
<xs:element minOccurs="0" name="ProductId" type="ser:guid" />
|
||||||
|
<xs:element minOccurs="0" name="Ratio" nillable="true" type="tns:Ratio" />
|
||||||
|
<xs:element minOccurs="0" name="RatioRightUnit" type="tns:RatioMeasurementUnit" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:extension>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ProductSamplingConfiguration" nillable="true" type="tns:ProductSamplingConfiguration" />
|
||||||
|
<xs:complexType name="ArrayOfSamplingProgress">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingProgress" nillable="true" type="tns:SamplingProgress" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrayOfSamplingProgress" nillable="true" type="tns:ArrayOfSamplingProgress" />
|
||||||
|
<xs:complexType name="SamplingProgress">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="CurrentCount" type="xs:decimal" />
|
||||||
|
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="TargetCount" nillable="true" type="xs:decimal" />
|
||||||
|
<xs:element minOccurs="0" name="Unit" type="tns:SamplingMeasurementUnit" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="SamplingProgress" nillable="true" type="tns:SamplingProgress" />
|
||||||
|
</xs:schema>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="AbstractSamplingConfiguration" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.AbstractSamplingConfiguration, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Batch" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Batch, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="GetVersionResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.GetVersionResponse, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Grower" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Grower, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Label" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Label, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="LaneGroup" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.LaneGroup, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Layout" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Layout, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Outlet" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Outlet, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Pack" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Pack, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Product" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Product, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="SamplingProgress" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.SamplingProgress, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="ServiceVersion" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.ServiceVersion, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="Variety" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>EgwProxy.Icoel.SizerService.Variety, Connected Services.SizerService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="62553bb0-41e7-4b60-bd08-3bf2eba190f9" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
|
||||||
|
<ClientOptions>
|
||||||
|
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
|
||||||
|
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
|
||||||
|
<EnableDataBinding>true</EnableDataBinding>
|
||||||
|
<ExcludedTypes />
|
||||||
|
<ImportXmlTypes>false</ImportXmlTypes>
|
||||||
|
<GenerateInternalTypes>false</GenerateInternalTypes>
|
||||||
|
<GenerateMessageContracts>false</GenerateMessageContracts>
|
||||||
|
<NamespaceMappings />
|
||||||
|
<CollectionMappings />
|
||||||
|
<GenerateSerializableTypes>true</GenerateSerializableTypes>
|
||||||
|
<Serializer>Auto</Serializer>
|
||||||
|
<UseSerializerForFaults>true</UseSerializerForFaults>
|
||||||
|
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
|
||||||
|
<ReferencedAssemblies />
|
||||||
|
<ReferencedDataContractTypes />
|
||||||
|
<ServiceContractMappings />
|
||||||
|
</ClientOptions>
|
||||||
|
<MetadataSources>
|
||||||
|
<MetadataSource Address="http://localhost:8001/SizerService/mex" Protocol="mex" SourceId="1" />
|
||||||
|
</MetadataSources>
|
||||||
|
<Metadata>
|
||||||
|
<MetadataFile FileName="Compac.Services.Sizer.Service.wsdl" MetadataType="Wsdl" ID="3667249a-8d59-41c2-a438-5c1c92312908" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="91527b2c-5da6-4603-b28f-ba48102ef3a9" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Compac.Services.Core.xsd" MetadataType="Schema" ID="6bbfd191-b8e4-4a76-9ce3-5b0892f5730b" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="service.xsd" MetadataType="Schema" ID="3af535ae-0375-4d5b-b79f-a3a1d6aa76a3" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Compac.Services.Core1.xsd" MetadataType="Schema" ID="a92642dc-97ba-4344-beb6-b5bc1ba73ae9" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="System.xsd" MetadataType="Schema" ID="c30865d3-0e95-4c86-84b0-b80cb97822e4" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Compac.Services.Sizer.Service.xsd" MetadataType="Schema" ID="b7e04aac-960c-4819-a3d2-0be3d374197c" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="c7458cc7-ad94-4588-b36f-d4d5c5e0c214" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Compac.Services.Sizer.Service1.xsd" MetadataType="Schema" ID="b99eb748-f69a-4b1d-b1fe-32680a887b8f" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
<MetadataFile FileName="Compac.Services.Core2.xsd" MetadataType="Schema" ID="34c4c65d-a186-4eb5-8250-c027142d0d02" SourceId="1" SourceUrl="http://localhost:8001/SizerService/mex" />
|
||||||
|
</Metadata>
|
||||||
|
<Extensions>
|
||||||
|
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||||
|
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||||
|
</Extensions>
|
||||||
|
</ReferenceGroup>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:complexType name="Version">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="_Build" type="xs:int" />
|
||||||
|
<xs:element name="_Major" type="xs:int" />
|
||||||
|
<xs:element name="_Minor" type="xs:int" />
|
||||||
|
<xs:element name="_Revision" type="xs:int" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Version" nillable="true" type="tns:Version" />
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
|
||||||
|
<behaviors />
|
||||||
|
<bindings>
|
||||||
|
<binding digest="System.ServiceModel.Configuration.NetNamedPipeBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="NetNamedPipeBinding_ISizerService"><security mode="None" /></Data>" bindingType="netNamedPipeBinding" name="NetNamedPipeBinding_ISizerService" />
|
||||||
|
<binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="WSHttpBinding_ISizerService"><security mode="None" /></Data>" bindingType="wsHttpBinding" name="WSHttpBinding_ISizerService" />
|
||||||
|
</bindings>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />" contractName="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||||
|
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />" contractName="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||||
|
</endpoints>
|
||||||
|
</configurationSnapshot>
|
||||||
@@ -0,0 +1,374 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="ue1GM2YbFtgGxkL1UM24zSjEnd9Ovrw4eae6ahtbv3w=">
|
||||||
|
<bindingConfigurations>
|
||||||
|
<bindingConfiguration bindingType="netNamedPipeBinding" name="NetNamedPipeBinding_ISizerService">
|
||||||
|
<properties>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>NetNamedPipeBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Buffered</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/transactionProtocol" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransactionProtocol, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>OleTransactions</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>StrongWildcard</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>65536</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxConnections" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NetNamedPipeSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.NetNamedPipeSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.NetNamedPipeSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NamedPipeTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.NamedPipeTransportSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/protectionLevel" isComplexType="false" isExplicitlyDefined="false" clrType="System.Net.Security.ProtectionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>EncryptAndSign</serializedValue>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</bindingConfiguration>
|
||||||
|
<bindingConfiguration bindingType="wsHttpBinding" name="WSHttpBinding_ISizerService">
|
||||||
|
<properties>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>WSHttpBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>StrongWildcard</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Text</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>True</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="false" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>00:10:00</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.WSHttpSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.WSHttpTransportSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Windows</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Never</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>TransportSelected</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>(Raccolta)</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Windows</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/negotiateServiceCredential" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>True</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Default</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/establishSecurityContext" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>True</serializedValue>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</bindingConfiguration>
|
||||||
|
</bindingConfigurations>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint name="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" bindingType="wsHttpBinding" address="http://localhost:8001/SizerService/" bindingConfiguration="WSHttpBinding_ISizerService">
|
||||||
|
<properties>
|
||||||
|
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>http://localhost:8001/SizerService/</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>wsHttpBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>WSHttpBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>SizerService.ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue><Header /></serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>My</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>LocalMachine</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>WSHttpBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</endpoint>
|
||||||
|
<endpoint name="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" bindingType="netNamedPipeBinding" address="net.pipe://localhost/Compac/8001/SizerService" bindingConfiguration="NetNamedPipeBinding_ISizerService">
|
||||||
|
<properties>
|
||||||
|
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>net.pipe://localhost/Compac/8001/SizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>netNamedPipeBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>NetNamedPipeBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>SizerService.ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue><Header /></serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>My</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>LocalMachine</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>NetNamedPipeBinding_ISizerService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</endpoint>
|
||||||
|
</endpoints>
|
||||||
|
</SavedWcfConfigurationInformation>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:element name="anyType" nillable="true" type="xs:anyType" />
|
||||||
|
<xs:element name="anyURI" nillable="true" type="xs:anyURI" />
|
||||||
|
<xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
|
||||||
|
<xs:element name="boolean" nillable="true" type="xs:boolean" />
|
||||||
|
<xs:element name="byte" nillable="true" type="xs:byte" />
|
||||||
|
<xs:element name="dateTime" nillable="true" type="xs:dateTime" />
|
||||||
|
<xs:element name="decimal" nillable="true" type="xs:decimal" />
|
||||||
|
<xs:element name="double" nillable="true" type="xs:double" />
|
||||||
|
<xs:element name="float" nillable="true" type="xs:float" />
|
||||||
|
<xs:element name="int" nillable="true" type="xs:int" />
|
||||||
|
<xs:element name="long" nillable="true" type="xs:long" />
|
||||||
|
<xs:element name="QName" nillable="true" type="xs:QName" />
|
||||||
|
<xs:element name="short" nillable="true" type="xs:short" />
|
||||||
|
<xs:element name="string" nillable="true" type="xs:string" />
|
||||||
|
<xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
|
||||||
|
<xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
|
||||||
|
<xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
|
||||||
|
<xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
|
||||||
|
<xs:element name="char" nillable="true" type="tns:char" />
|
||||||
|
<xs:simpleType name="char">
|
||||||
|
<xs:restriction base="xs:int" />
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="duration" nillable="true" type="tns:duration" />
|
||||||
|
<xs:simpleType name="duration">
|
||||||
|
<xs:restriction base="xs:duration">
|
||||||
|
<xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
|
||||||
|
<xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
|
||||||
|
<xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="guid" nillable="true" type="tns:guid" />
|
||||||
|
<xs:simpleType name="guid">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:attribute name="FactoryType" type="xs:QName" />
|
||||||
|
<xs:attribute name="Id" type="xs:ID" />
|
||||||
|
<xs:attribute name="Ref" type="xs:IDREF" />
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
using EgwProxy.Icoel.Compac;
|
||||||
|
using EgwProxy.Icoel.SizerService;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace EgwProxy.Icoel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Connettore proxy x servizi rest di Icoel
|
||||||
|
/// </summary>
|
||||||
|
public class Connector
|
||||||
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inizializazzione classe con salvataggio ip/porta del webservice del sizer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ipAddress">Indirizzo IP del sizer</param>
|
||||||
|
/// <param name="tcpPort">POrta del sizer (default 8001)</param>
|
||||||
|
public Connector(string ipAddress, string tcpPort)
|
||||||
|
{
|
||||||
|
this.ipAddress = ipAddress;
|
||||||
|
this.tcpPort = tcpPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica il fornitore e se non ci fosse crea
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="GrowerData">Struttura GrowerInfo del fornitore</param>
|
||||||
|
public void CheckGrower(GrowerInfo GrowerData)
|
||||||
|
{
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
Client.CheckGrower(GrowerData.GrowerCode, GrowerData.GrowerName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera array varie velocità rilevate
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Dictionary<string, double> delle velocità rilevate sul sizer</returns>
|
||||||
|
public Dictionary<string, double> GetPerfMeters()
|
||||||
|
{
|
||||||
|
Dictionary<string, double> answ = new Dictionary<string, double>();
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
answ = Client.GetPerfMeters();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera array dei batch sulle 2 linee: ID batch + layout + varietà x ogni linea...
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Dictionary<string, string> dei dati correnti x linea (batch, layout, variety) rilevate sul sizer</returns>
|
||||||
|
public Dictionary<string, string> GetCurrBatchData()
|
||||||
|
{
|
||||||
|
Dictionary<string, string> answ = new Dictionary<string, string>();
|
||||||
|
var batchData = GetCurrentBatch();
|
||||||
|
foreach (var item in batchData)
|
||||||
|
{
|
||||||
|
answ.Add($"L{item.Key}_Batch", $"{item.Value.Id} | {item.Value.Name} | {item.Value.StartTime}");
|
||||||
|
answ.Add($"L{item.Key}_Grower", $"{item.Value.GrowerCode}");
|
||||||
|
answ.Add($"L{item.Key}_Layout", $"{item.Value.LayoutId} | {item.Value.LayoutName}");
|
||||||
|
answ.Add($"L{item.Key}_Variety", $"{item.Value.VarietyId} | {item.Value.VarietyName}");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Invia un lotto in coda produzione sul sizer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="newBatch">Batch da accodare</param>
|
||||||
|
public void EnqueueBatch(GrowerInfo GrowerData, Guid varGuid, Guid layGuid)
|
||||||
|
{
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
// va bene anche se vuoto! come lo torna ora...
|
||||||
|
string sizingProfile = Client.GetCurrentBatch().SizingProfileName;
|
||||||
|
//var rawData = Client.GetCurrentBatchByLane(1);
|
||||||
|
//var rawData2 = Client.GetCurrentBatchByLane(2);
|
||||||
|
Batch newBatch = CreateBatch(GrowerData, varGuid, layGuid, sizingProfile);
|
||||||
|
Client.MettiLottoInCoda(newBatch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera elenco dei Batch correnti
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Dizionario dei batch sulle due linee (1=SX, 2=DX)</returns>
|
||||||
|
public Dictionary<int, Batch> GetCurrentBatch()
|
||||||
|
{
|
||||||
|
Dictionary<int, Batch> outVal = new Dictionary<int, Batch>();
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
//Client.GetCurrentBatch();
|
||||||
|
for (int i = 1; i <= 2; i++)
|
||||||
|
{
|
||||||
|
var batch = Client.GetCurrentBatchByLane(i);
|
||||||
|
outVal.Add(i, batch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return outVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce un dictionary di varietà e relativi layout
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Dizionario: key=Variety, value=Layout[] associati</returns>
|
||||||
|
public Dictionary<Variety, Layout[]> GetLayoutAndVariety()
|
||||||
|
{
|
||||||
|
Dictionary<Variety, Layout[]> outVal = new Dictionary<Variety, Layout[]>();
|
||||||
|
using (var 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// restituisco dati
|
||||||
|
return outVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce un array di Layout validi data Guid della Variety
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="varietiesList"></param>
|
||||||
|
/// <returns>Array di Layout della varietà dato suo Guid</returns>
|
||||||
|
public Layout[] GetLayoutForVariety(Guid varGuid)
|
||||||
|
{
|
||||||
|
Layout[] outVal = new Layout[1];
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
// recupero layout della varietà
|
||||||
|
var layoutList = Client.GetLayouts(varGuid);
|
||||||
|
outVal = layoutList;
|
||||||
|
}
|
||||||
|
// restituisco dati
|
||||||
|
return outVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce un dictionary di layout validi x un array di varietà fornito
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="varietiesList">Array varietà di cui ottenere i layout</param>
|
||||||
|
/// <returns>Dizionario: key=Variety, value=Layout[] associati</returns>
|
||||||
|
public Dictionary<Variety, Layout[]> GetLayoutForVarietyList(Variety[] varietiesList)
|
||||||
|
{
|
||||||
|
Dictionary<Variety, Layout[]> outVal = new Dictionary<Variety, Layout[]>();
|
||||||
|
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
foreach (var item in varietiesList)
|
||||||
|
{
|
||||||
|
// recupero layout della varietà
|
||||||
|
var layoutList = Client.GetLayouts(item.Id);
|
||||||
|
outVal.Add(item, layoutList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// restituisco dati
|
||||||
|
return outVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce elenco delle Variety
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="onlyActive">Solo attive (true) o tutte (false)</param>
|
||||||
|
/// <returns>Elenco delel Variety trovate</returns>
|
||||||
|
public Variety[] GetVarietyList(bool onlyActive = true)
|
||||||
|
{
|
||||||
|
Variety[] varietiesList;
|
||||||
|
using (var cClient = new ComClient(ipAddress, tcpPort))
|
||||||
|
{
|
||||||
|
if (onlyActive)
|
||||||
|
{
|
||||||
|
varietiesList = cClient.GetActiveVarieties();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
varietiesList = cClient.GetAllVarieties();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return varietiesList;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
|
||||||
|
#region Private Properties
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inidirizzo IP
|
||||||
|
/// </summary>
|
||||||
|
private string ipAddress { get; set; } = "127.0.0.1";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Porta del webservice (SOAP)
|
||||||
|
/// </summary>
|
||||||
|
private string tcpPort { get; set; } = "8001";
|
||||||
|
|
||||||
|
#endregion Private Properties
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Genera un obj batch dati i parametri necessari
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="GrowerData"></param>
|
||||||
|
/// <param name="VarietyId"></param>
|
||||||
|
/// <param name="LayoutId"></param>
|
||||||
|
/// <param name="SizingProfileName"></param>
|
||||||
|
/// <returns>Oggetto Batch creato</returns>
|
||||||
|
private Batch CreateBatch(GrowerInfo GrowerData, Guid VarietyId, Guid LayoutId, string SizingProfileName)
|
||||||
|
{
|
||||||
|
var batch = new Batch();
|
||||||
|
|
||||||
|
batch.AvoidLayoutChange = true;
|
||||||
|
batch.AvoidSavingOldLayouts = true;
|
||||||
|
|
||||||
|
batch.GrowerCode = GrowerData.GrowerCode;
|
||||||
|
batch.Comments = new string[GrowerData.Comments.Count];
|
||||||
|
batch.Comments = GrowerData.Comments.ToArray();
|
||||||
|
|
||||||
|
batch.VarietyId = VarietyId;
|
||||||
|
batch.LayoutId = LayoutId;
|
||||||
|
batch.SizingProfileName = SizingProfileName;
|
||||||
|
|
||||||
|
return batch;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Private Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user