Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cc00dc0804 | |||
| 719968ee2b | |||
| 78482b4833 | |||
| da292cae17 |
@@ -108,13 +108,11 @@
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.5.1.2108.1115\lib\net462\SteamWare.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SteamWare, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.5.1.2108.1911\lib\net462\SteamWare.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare.Logger, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1115\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SteamWare.Logger, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1911\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
@@ -276,6 +274,10 @@
|
||||
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
|
||||
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
|
||||
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
|
||||
<Content Include="libzstd.dll" />
|
||||
<Content Include="mongocrypt.dll" />
|
||||
<Content Include="snappy32.dll" />
|
||||
<Content Include="snappy64.dll" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
<package id="SharpZipLib" version="1.3.2" targetFramework="net462" />
|
||||
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
|
||||
<package id="StackExchange.Redis" version="2.2.62" targetFramework="net462" />
|
||||
<package id="SteamWare" version="5.1.2108.1115" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.1.2108.1115" targetFramework="net462" />
|
||||
<package id="SteamWare" version="5.1.2108.1911" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.1.2108.1911" targetFramework="net462" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
|
||||
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||
|
||||
@@ -275,7 +275,14 @@ namespace NKC_WF
|
||||
/// <returns></returns>
|
||||
public string traduci(string lemma)
|
||||
{
|
||||
return SteamWare.user_std.UtSn.Traduci(lemma);
|
||||
string answ = $"__{lemma}__";
|
||||
try
|
||||
{
|
||||
answ = SteamWare.user_std.UtSn.Traduci(lemma);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
@@ -127,13 +127,11 @@
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.5.1.2108.1115\lib\net462\SteamWare.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SteamWare, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.5.1.2108.1911\lib\net462\SteamWare.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare.Logger, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1115\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="SteamWare.Logger, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1911\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
</Reference>
|
||||
<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>
|
||||
@@ -312,6 +310,8 @@
|
||||
<Content Include="Images\999999999.svg" />
|
||||
<Content Include="Images\LogoEgalware.png" />
|
||||
<Content Include="Images\test.svg" />
|
||||
<Content Include="libzstd.dll" />
|
||||
<Content Include="mongocrypt.dll" />
|
||||
<Content Include="Resources\ChangeLog.html">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@@ -476,6 +476,8 @@
|
||||
<Content Include="site\StackManager.aspx" />
|
||||
<Content Include="site\Unauth.aspx" />
|
||||
<Content Include="site\UpdMan.aspx" />
|
||||
<Content Include="snappy32.dll" />
|
||||
<Content Include="snappy64.dll" />
|
||||
<Content Include="WebUserControls\cmp_barcode.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetailData.ascx" />
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password"/>
|
||||
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password,allowAdmin=true"/>
|
||||
<add key="redisDb" value="2"/>
|
||||
<add key="cacheDataTTL" value="2"/>
|
||||
<!--MongoDB-->
|
||||
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017"/>
|
||||
<add key="enableMongo" value="true"/>
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
<package id="SharpZipLib" version="1.3.2" targetFramework="net462" />
|
||||
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
|
||||
<package id="StackExchange.Redis" version="2.2.62" targetFramework="net462" />
|
||||
<package id="SteamWare" version="5.1.2108.1115" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.1.2108.1115" targetFramework="net462" />
|
||||
<package id="SteamWare" version="5.1.2108.1911" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.1.2108.1911" targetFramework="net462" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
|
||||
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||
|
||||
+206
-166
@@ -9,17 +9,19 @@ namespace NKC_WF.site
|
||||
{
|
||||
public partial class BatchPreview : BasePage
|
||||
{
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// Batch corrente...
|
||||
/// BunkId selezionato
|
||||
/// </summary>
|
||||
public int BatchId
|
||||
protected int BunkId
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = memLayer.ML.QSI("BatchId");
|
||||
return answ;
|
||||
return cmp_BP_bunkList.BunkIdSel;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indice bunk selezionato (0..n-1)
|
||||
/// </summary>
|
||||
@@ -34,16 +36,18 @@ namespace NKC_WF.site
|
||||
cmp_BP_bunkList.selIndex = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BunkId selezionato
|
||||
/// </summary>
|
||||
protected int BunkId
|
||||
protected int SheetId
|
||||
{
|
||||
get
|
||||
{
|
||||
return cmp_BP_bunkList.BunkIdSel;
|
||||
return cmp_BP_sheetList.SheetIdSel;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indice sheet selezionato (0..n-1)
|
||||
/// </summary>
|
||||
@@ -58,34 +62,15 @@ namespace NKC_WF.site
|
||||
cmp_BP_sheetList.selIndex = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// BunkId selezionato
|
||||
/// </summary>
|
||||
protected int SheetId
|
||||
{
|
||||
get
|
||||
{
|
||||
return cmp_BP_sheetList.SheetIdSel;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// valore selezionato nello slider
|
||||
/// </summary>
|
||||
protected int valSlider
|
||||
{
|
||||
get
|
||||
{
|
||||
return cmp_slider.selValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
cmp_slider.selValue = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chaive URL base x gestione sheet del batch corrente
|
||||
/// </summary>
|
||||
protected string tabSheetKey;
|
||||
protected string tabSheetKey
|
||||
{
|
||||
get => $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco fogli della gestione corrente
|
||||
/// </summary>
|
||||
@@ -108,145 +93,50 @@ namespace NKC_WF.site
|
||||
}
|
||||
set
|
||||
{
|
||||
string rawData = JsonConvert.SerializeObject(value);
|
||||
memLayer.ML.setRSV(tabSheetKey, rawData, 60);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Restituisce la riga dall'indice inserito (
|
||||
/// </summary>
|
||||
/// <param name="indice">valore 1..maxSheets</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaSel(int indice)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
// init var
|
||||
int maxNum = tabSheets.Count;
|
||||
// base 0 --> riduco di 1...
|
||||
indice--;
|
||||
// controllo valore sia accettabile...
|
||||
indice = indice < 0 ? 0 : indice;
|
||||
indice = indice >= maxNum ? maxNum - 1 : indice;
|
||||
try
|
||||
{
|
||||
answ = tabSheets[indice];
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Restituisce la PRIMA riga dal codice BUNK inserito
|
||||
/// </summary>
|
||||
/// <param name="BunkId">valore 1..numBunk</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaByBunk(int BunkId)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
try
|
||||
{
|
||||
answ = tabSheets.First(x => x.StackID == BunkId);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Restituisce la riga dal codice Sheet inserito
|
||||
/// </summary>
|
||||
/// <param name="SheetId">valore 1..numBunk</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaBySheet(int SheetId)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
try
|
||||
{
|
||||
answ = tabSheets.First(x => x.StackID == SheetId);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// caicamento pagina
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
((SiteMaster)this.Master).showSearch = false;
|
||||
tabSheetKey = $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
|
||||
// imposto bunk!
|
||||
cmp_BP_bunkList.BatchId = BatchId;
|
||||
setupSlider();
|
||||
doUpdate();
|
||||
}
|
||||
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
|
||||
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
|
||||
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
|
||||
}
|
||||
/// <summary>
|
||||
/// Setup slider da num fogli
|
||||
/// </summary>
|
||||
private void setupSlider()
|
||||
{
|
||||
cmp_slider.minVal = 1;
|
||||
cmp_slider.maxVal = tabSheets.Count;
|
||||
cmp_slider.selValue = 1;
|
||||
}
|
||||
|
||||
|
||||
private void doUpdate()
|
||||
{
|
||||
updateBySlider();
|
||||
}
|
||||
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
updateBySlider();
|
||||
}
|
||||
/// <summary>
|
||||
/// Effettua update da Slider --> valore selezionato
|
||||
/// </summary>
|
||||
private void updateBySlider()
|
||||
{
|
||||
// il valore assoluto dello slider è già corretto... cerco nella tab!
|
||||
DS_App.SheetListRow currRow = rigaSel(valSlider);
|
||||
if (currRow != null)
|
||||
{
|
||||
// recupero indice bunk e sheets e seleziono
|
||||
bunkIndex = currRow.StackIndex - 1;
|
||||
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
|
||||
sheetIndex = currRow.SheetIndex - 1;
|
||||
// update svg...
|
||||
cmp_MU_svgViewer.SheetId = currRow.SheetID;
|
||||
}
|
||||
}
|
||||
|
||||
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
// calcolo indice slider da chiave sheet...
|
||||
int num = 1;
|
||||
foreach (var item in tabSheets)
|
||||
{
|
||||
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
|
||||
string rawData = "";
|
||||
if (value.Count > 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
num++;
|
||||
rawData = JsonConvert.SerializeObject(value);
|
||||
}
|
||||
memLayer.ML.setRSV(tabSheetKey, rawData, 300);
|
||||
}
|
||||
cmp_slider.selValue = num;
|
||||
// update svg...
|
||||
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// valore selezionato nello slider
|
||||
/// </summary>
|
||||
protected int valSlider
|
||||
{
|
||||
get
|
||||
{
|
||||
return cmp_slider.selValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
cmp_slider.selValue = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Batch corrente...
|
||||
/// </summary>
|
||||
public int BatchId
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = memLayer.ML.QSI("BatchId");
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void Cmp_BP_bunkList_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
DS_App.SheetListRow currRow = rigaByBunk(cmp_BP_bunkList.BunkIdSel);
|
||||
@@ -254,7 +144,8 @@ namespace NKC_WF.site
|
||||
{
|
||||
// calcolo indice slider da chiave sheet...
|
||||
int num = 1;
|
||||
foreach (var item in tabSheets)
|
||||
var currTabSheets = tabSheets;
|
||||
foreach (var item in currTabSheets)
|
||||
{
|
||||
if (item.SheetID == currRow.SheetID)
|
||||
{
|
||||
@@ -273,5 +164,154 @@ namespace NKC_WF.site
|
||||
cmp_MU_svgViewer.SheetId = currRow.SheetID;
|
||||
}
|
||||
}
|
||||
|
||||
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
// calcolo indice slider da chiave sheet...
|
||||
int num = 1;
|
||||
var currTabSheets = tabSheets;
|
||||
foreach (var item in currTabSheets)
|
||||
{
|
||||
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
cmp_slider.selValue = num;
|
||||
// update svg...
|
||||
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
|
||||
}
|
||||
|
||||
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
updateBySlider();
|
||||
}
|
||||
|
||||
private void doUpdate()
|
||||
{
|
||||
updateBySlider();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Setup slider da num fogli
|
||||
/// </summary>
|
||||
private void setupSlider()
|
||||
{
|
||||
cmp_slider.minVal = 1;
|
||||
cmp_slider.maxVal = tabSheets.Count;
|
||||
cmp_slider.selValue = 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua update da Slider --> valore selezionato
|
||||
/// </summary>
|
||||
private void updateBySlider()
|
||||
{
|
||||
// il valore assoluto dello slider è già corretto... cerco nella tab!
|
||||
DS_App.SheetListRow currRow = rigaSel(valSlider);
|
||||
if (currRow != null)
|
||||
{
|
||||
// recupero indice bunk e sheets e seleziono
|
||||
bunkIndex = currRow.StackIndex - 1;
|
||||
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
|
||||
sheetIndex = currRow.SheetIndex - 1;
|
||||
// update svg...
|
||||
cmp_MU_svgViewer.SheetId = currRow.SheetID;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// caicamento pagina
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
((SiteMaster)this.Master).showSearch = false;
|
||||
// imposto bunk!
|
||||
cmp_BP_bunkList.BatchId = BatchId;
|
||||
setupSlider();
|
||||
doUpdate();
|
||||
}
|
||||
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
|
||||
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
|
||||
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce la PRIMA riga dal codice BUNK inserito
|
||||
/// </summary>
|
||||
/// <param name="BunkId">valore 1..numBunk</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaByBunk(int BunkId)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
try
|
||||
{
|
||||
var currTabSheets = tabSheets;
|
||||
answ = currTabSheets.First(x => x.StackID == BunkId);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce la riga dal codice Sheet inserito
|
||||
/// </summary>
|
||||
/// <param name="SheetId">valore 1..numBunk</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaBySheet(int SheetId)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
try
|
||||
{
|
||||
var currTabSheets = tabSheets;
|
||||
answ = currTabSheets.First(x => x.StackID == SheetId);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce la riga dall'indice inserito (
|
||||
/// </summary>
|
||||
/// <param name="indice">valore 1..maxSheets</param>
|
||||
/// <returns></returns>
|
||||
protected DS_App.SheetListRow rigaSel(int indice)
|
||||
{
|
||||
DS_App.SheetListRow answ = null;
|
||||
var currTabSheets = tabSheets;
|
||||
// init var
|
||||
int maxNum = currTabSheets.Count;
|
||||
// base 0 --> riduco di 1...
|
||||
indice--;
|
||||
// controllo valore sia accettabile...
|
||||
indice = indice < 0 ? 0 : indice;
|
||||
indice = indice >= maxNum ? maxNum - 1 : indice;
|
||||
try
|
||||
{
|
||||
answ = currTabSheets[indice];
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user