Merge branch 'develop' into stable

This commit is contained in:
Samuele E. Locatelli
2020-07-28 22:47:13 +02:00
12 changed files with 601 additions and 346 deletions
+4 -4
View File
@@ -161,7 +161,7 @@ namespace AppData
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DataLayer.man.taIL.getByKey(intIdx);
break;
case reportRichiesto.stackLabel:
case reportRichiesto.bunkLabel:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
break;
@@ -202,7 +202,7 @@ namespace AppData
report.ReportPath = string.Format(@"{0}\PartLabel.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocPart"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.stackLabel:
case reportRichiesto.bunkLabel:
report.ReportPath = string.Format(@"{0}\StackLabel.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocStack"), caricaDati(tipoReport, keyParam)));
break;
@@ -351,7 +351,7 @@ namespace AppData
string pagWidth = "";
string pagHeigth = "";
string margin = "";
reportRichiesto report = reportRichiesto.stackLabel;
reportRichiesto report = reportRichiesto.bunkLabel;
string tipo = "";
switch (documento)
@@ -374,7 +374,7 @@ namespace AppData
break;
case tipoDocumento.docStack:
tipo = "DocStack";
report = reportRichiesto.stackLabel;
report = reportRichiesto.bunkLabel;
break;
default:
break;
+263 -262
View File
@@ -1,294 +1,295 @@
namespace NKC_SDK
{
/// <summary>
/// Stati degli oggetti TAKT e Stack
/// </summary>
public enum CStatus
{
/// <summary>
/// Programmato
/// Stati degli oggetti TAKT e Stack
/// </summary>
Programmed = 0,
/// <summary>
/// In corso
/// </summary>
Running,
/// <summary>
/// Completato
/// </summary>
Done
}
public enum CStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// In corso
/// </summary>
Running,
/// <summary>
/// Completato
/// </summary>
Done
}
/// <summary>
/// Tipologia di macchina
/// </summary>
public enum mType
{
Multiax = 0,
Offline
}
/// <summary>
/// TIpologia di ordine
/// </summary>
public enum oType
{
BatchRequest = 0,
OfflineOrder
}
/// <summary>
/// modalità funzionamento batch list
/// </summary>
public enum BatchListMode
{
/// <summary>
/// Modalità normale (stima/nesting)
/// Tipologia di macchina
/// </summary>
Standard,
public enum mType
{
Multiax = 0,
Offline
}
/// <summary>
/// MOdalità validazione aprticolari
/// TIpologia di ordine
/// </summary>
PartsEval
}
/// <summary>
/// Stati degli oggetti Batch
/// </summary>
public enum BatchStatus
{
public enum oType
{
BatchRequest = 0,
OfflineOrder
}
/// <summary>
/// CSV importato
/// modalità funzionamento batch list
/// </summary>
Imported = 0,
public enum BatchListMode
{
/// <summary>
/// Modalità normale (stima/nesting)
/// </summary>
Standard,
/// <summary>
/// MOdalità validazione aprticolari
/// </summary>
PartsEval
}
/// <summary>
/// Nesting richiesto (In corso)
/// Stati degli oggetti Batch
/// </summary>
EstimationRequested,
public enum BatchStatus
{
/// <summary>
/// CSV importato
/// </summary>
Imported = 0,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
EstimationRequested,
/// <summary>
/// Nesting Completato
/// </summary>
EstimationDone,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
NestRequested,
/// <summary>
/// Nesting Completato
/// </summary>
NestDone,
/// <summary>
/// Nesting approvato
/// </summary>
Approved,
/// <summary>
/// Nesting scartato
/// </summary>
Discarded,
/// <summary>
/// Errori in fase di import o calcolo
/// </summary>
Errors,
/// <summary>
/// Impiegato per effettuare un test di validazione di un SINGOLO ITEM/PART
/// </summary>
PartEval,
/// <summary>
/// Test di validazione KO per un SINGOLO ITEM/PART
/// </summary>
PartKo,
/// <summary>
/// Test di validazione OK per un SINGOLO ITEM/PART
/// </summary>
PartOk
}
/// <summary>
/// Nesting Completato
/// Posizione / Activity degli oggetti Batch
/// </summary>
EstimationDone,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
NestRequested,
/// <summary>
/// Nesting Completato
/// </summary>
NestDone,
/// <summary>
/// Nesting approvato
/// </summary>
Approved,
/// <summary>
/// Nesting scartato
/// </summary>
Discarded,
/// <summary>
/// Errori in fase di import o calcolo
/// </summary>
Errors,
/// <summary>
/// Impiegato per effettuare un test di validazione di un SINGOLO ITEM/PART
/// </summary>
PartEval,
/// <summary>
/// Test di validazione KO per un SINGOLO ITEM/PART
/// </summary>
PartKo,
/// <summary>
/// Test di validazione OK per un SINGOLO ITEM/PART
/// </summary>
PartOk
}
/// <summary>
/// Posizione / Activity degli oggetti Batch
/// </summary>
public enum BatchPosition
{
/// <summary>
/// Non iniziato
/// </summary>
NotStarted = 0,
/// <summary>
/// Stack In corso
/// </summary>
StackStarted,
/// <summary>
/// Stack Completato
/// </summary>
StackDone,
/// <summary>
/// Stack currently in LOAD
/// </summary>
Current,
/// <summary>
/// Stack completed
/// </summary>
Completed
}
public enum BatchPosition
{
/// <summary>
/// Non iniziato
/// </summary>
NotStarted = 0,
/// <summary>
/// Stack In corso
/// </summary>
StackStarted,
/// <summary>
/// Stack Completato
/// </summary>
StackDone,
/// <summary>
/// Stack currently in LOAD
/// </summary>
Current,
/// <summary>
/// Stack completed
/// </summary>
Completed
}
/// <summary>
/// Stati degli oggetti PANEL/SHEET
/// </summary>
public enum PStatus
{
/// <summary>
/// Programmato
/// Stati degli oggetti PANEL/SHEET
/// </summary>
Programmed = 0,
public enum PStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// Stampa in corso
/// </summary>
Printing,
/// <summary>
/// Stampa completata
/// </summary>
Printed,
/// <summary>
/// Lavorazione in corso
/// </summary>
Machining,
/// <summary>
/// Lavorazione completata
/// </summary>
Machined,
/// <summary>
/// In fase di scaricamento
/// </summary>
Unloading,
/// <summary>
/// Completato / scaricato da macchina (anche su tavola di scarico)
/// </summary>
Unloaded,
/// <summary>
/// Presente / letto su PROD e pronto su scissor lift
/// </summary>
Present,
/// <summary>
/// Da rilavorare
/// </summary>
ToBeRedone
}
/// <summary>
/// Stampa in corso
/// Destinazioni per ITEM post CNC WORK
/// </summary>
Printing,
public enum ItemDest
{
/// <summary>
/// Destinato a BIN (painting)
/// </summary>
Bin,
/// <summary>
/// Destinato a Cart (KIT)
/// </summary>
Cart,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Stampa completata
/// Stati ammessi per ITEM
/// </summary>
Printed,
/// <summary>
/// Lavorazione in corso
/// </summary>
Machining,
/// <summary>
/// Lavorazione completata
/// </summary>
Machined,
/// <summary>
/// In fase di scaricamento
/// </summary>
Unloading,
/// <summary>
/// Completato / scaricato da macchina (anche su tavola di scarico)
/// </summary>
Unloaded,
/// <summary>
/// Presente / letto su PROD e pronto su scissor lift
/// </summary>
Present,
/// <summary>
/// Da rilavorare
/// </summary>
ToBeRedone
}
/// <summary>
/// Destinazioni per ITEM post CNC WORK
/// </summary>
public enum ItemDest
{
/// <summary>
/// Destinato a BIN (painting)
/// </summary>
Bin,
/// <summary>
/// Destinato a Cart (KIT)
/// </summary>
Cart,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Stati ammessi per ITEM
/// </summary>
public enum ItemStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed,
/// <summary>
/// Completato/Fatto/tagliato
/// </summary>
Made,
/// <summary>
/// Preso da operatore
/// </summary>
PickUp,
/// <summary>
/// Depositato su Bin/Cesta
/// </summary>
Removed,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
public enum ItemStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed,
/// <summary>
/// Completato/Fatto/tagliato
/// </summary>
Made,
/// <summary>
/// Preso da operatore
/// </summary>
PickUp,
/// <summary>
/// Depositato su Bin/Cesta
/// </summary>
Removed,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Tipi di barcode gestiti
/// </summary>
public enum codeType
{
UNK = 0,
Item,
ItemGeneric,
OtherItem,
Material,
Sheet,
Stack,
Batch,
Cart,
Bin,
BinProcessed,
SecScreen
}
/// <summary>
/// tipologia di report (FILE rdlc) gestito in stampa...
/// </summary>
public enum reportRichiesto
{
cartLabel,
paintLabelPre,
paintLabelPost,
partLabel,
stackLabel
}
/// <summary>
/// tipologia di DOCUMENTO gestito in stampa...
/// </summary>
public enum tipoDocumento
{
/// <summary>
/// Etichetta per un BIN (pre esecuzione compito, es verniciatura)
/// Tipi di barcode gestiti
/// </summary>
docBinPre,
public enum codeType
{
UNK = 0,
Item,
ItemGeneric,
OtherItem,
Material,
Sheet,
Stack,
Batch,
Cart,
Bin,
BinProcessed,
SecScreen
}
/// <summary>
/// Etichetta per un BIN (POST esecuzione compito, es verniciatura)
/// tipologia di report (FILE rdlc) gestito in stampa...
/// </summary>
docBinPost,
public enum reportRichiesto
{
bunkLabel,
cartLabel,
offlineLabel,
paintLabelPre,
paintLabelPost,
partLabel
}
/// <summary>
/// Etichetta per un CART
/// tipologia di DOCUMENTO gestito in stampa...
/// </summary>
docCart,
/// <summary>
/// Docuemtno per singolo ITEM:
/// - QR code
/// - num cart/bin
/// - T/P/* (se va fatto qualcosa di speciale)
/// - codice dmtx leggibile (es IT000023) su NUOVA riga
/// </summary>
docPart,
/// <summary>
/// doc per STACK
/// </summary>
docStack,
/// <summary>
/// NON DEFINITO
/// </summary>
docND
}
public enum tipoDocumento
{
/// <summary>
/// Etichetta per un BIN (pre esecuzione compito, es verniciatura)
/// </summary>
docBinPre,
/// <summary>
/// Etichetta per un BIN (POST esecuzione compito, es verniciatura)
/// </summary>
docBinPost,
/// <summary>
/// Etichetta per un CART
/// </summary>
docCart,
/// <summary>
/// Docuemtno per singolo ITEM:
/// - QR code
/// - num cart/bin
/// - T/P/* (se va fatto qualcosa di speciale)
/// - codice dmtx leggibile (es IT000023) su NUOVA riga
/// </summary>
docPart,
/// <summary>
/// doc per STACK
/// </summary>
docStack,
/// <summary>
/// NON DEFINITO
/// </summary>
docND
}
/// <summary>
/// Enum degli stati ammessi per il Nesting
/// </summary>
public enum procStatus
{
waiting = 0,
running,
error,
completed,
aborted,
accepted,
refused
}
/// <summary>
/// Enum degli stati ammessi per il Nesting
/// </summary>
public enum procStatus
{
waiting = 0,
running,
error,
completed,
aborted,
accepted,
refused
}
}
@@ -12,7 +12,7 @@ namespace NKC_WF.Controllers
{
/// <summary>
/// Restituisce un array JSon x le conf delle code di stampa
/// GET: api/PrintQueue
/// GET: api/PrintQueueConf
/// </summary>
/// <returns>lista oggetto Json in formato SteamwareSDK.queueConf</returns>
public List<queueConf> Get()
@@ -57,13 +57,5 @@ namespace NKC_WF.Controllers
return answ;
}
#if false
// GET: api/PrintQueue/5
public string Get(int id)
{
return "value";
}
#endif
}
}
+17 -10
View File
@@ -47,10 +47,19 @@ namespace NKC_WF.Controllers
DataTable tab = new DataTable();
switch (tipoReport)
{
case reportRichiesto.bunkLabel:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
answ.Add("stp_prt_StackLabel", tab);
break;
case reportRichiesto.cartLabel:
// int.TryParse(keyParam, out intIdx);
// tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
break;
case reportRichiesto.offlineLabel:
// int.TryParse(keyParam, out intIdx);
// tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
break;
case reportRichiesto.paintLabelPre:
// int.TryParse(keyParam, out intIdx);
// tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
@@ -64,11 +73,6 @@ namespace NKC_WF.Controllers
tab = (DataTable)DataLayer.man.taIL.getByKey(intIdx);
answ.Add("stp_prt_PartLabel", tab);
break;
case reportRichiesto.stackLabel:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DataLayer.man.taRepStack.GetData(intIdx);
answ.Add("stp_prt_StackLabel", tab);
break;
default:
break;
}
@@ -79,13 +83,16 @@ namespace NKC_WF.Controllers
protected reportRichiesto reportByTipo(string tipo)
{
reportRichiesto report = reportRichiesto.stackLabel;
reportRichiesto report = reportRichiesto.bunkLabel;
switch (tipo)
{
case "docPaint":
case "docStack":
report = reportRichiesto.bunkLabel;
break;
case "docBinPre":
report = reportRichiesto.paintLabelPre;
break;
case "docPaintPost":
case "docBinPost":
report = reportRichiesto.paintLabelPost;
break;
case "docCart":
@@ -94,8 +101,8 @@ namespace NKC_WF.Controllers
case "docPart":
report = reportRichiesto.partLabel;
break;
case "docStack":
report = reportRichiesto.stackLabel;
case "docOffline":
report = reportRichiesto.offlineLabel;
break;
default:
break;
+8
View File
@@ -388,6 +388,7 @@
<Content Include="site\StackManager.aspx" />
<Content Include="site\SyncData.aspx" />
<Content Include="site\Unauth.aspx" />
<Content Include="site\UpdMan.aspx" />
<Content Include="site\Utility.aspx" />
<Content Include="WebUserControls\cmp_barcode.ascx" />
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
@@ -838,6 +839,13 @@
<Compile Include="site\UpdateVoc.aspx.designer.cs">
<DependentUpon>UpdateVoc.aspx</DependentUpon>
</Compile>
<Compile Include="site\UpdMan.aspx.cs">
<DependentUpon>UpdMan.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\UpdMan.aspx.designer.cs">
<DependentUpon>UpdMan.aspx</DependentUpon>
</Compile>
<Compile Include="site\Utility.aspx.cs">
<DependentUpon>Utility.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
+89 -59
View File
@@ -1,62 +1,92 @@
[
{
"name": "queueBin",
"template": "BinLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
{
"name": "queueUnloadBin",
"template": "BinLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueUnloadCart",
"template": "CartLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueBunk",
"template": "StackLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queuePaint",
"template": "BinLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queuePart",
"template": "PartLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueOffline",
"template": "OfflineLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
}
},
{
"name": "queueBunk",
"template": "StackLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueCart",
"template": "CartLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queuePart",
"template": "PartLabel.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
}
]
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<version>0.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+3
View File
@@ -47,6 +47,9 @@
<add key="authSenzaDominio" value="true"/>
<add key="_safePages" value="Test#Home#Default"/>
<add key="BaseUrl" value="http://IIS02/NKC"/>
<!--Updater area-->
<add key="downloadPath" value="c:\Steamware\installers\"/>
<add key="appVers" value="stable"/>
<!--area logger-->
<add key="_logDir" value="~/logs/"/>
<add key="enableDumpDiag" value="false"/>
+56
View File
@@ -0,0 +1,56 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SiteContent.master" AutoEventWireup="true" CodeBehind="UpdMan.aspx.cs" Inherits="NKC_WF.site.UpdMan" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<div class="container">
<div class="card">
<div class="card-header">
<div class="row" style="margin: 2px 4px;">
<h3 class="card-title text-uppercase">SteamWare's Updater</h3>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-12 text-center">
<p><b>Gestione Update pacchetti - Ultime release applicazioni.</b></p>
</div>
<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">ALL <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:LinkButton runat="server" ID="lbtDownloadAll" class="btn btn-success btn-lg btn-block" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>' OnClick="lbtDownload_Click" CommandArgument="ALL"><strong>LATEST VERS</strong></asp:LinkButton>
</div>
</div>
</div>
<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">NKC <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:LinkButton runat="server" ID="lbtDownloadNKC" class="btn btn-info text-light btn-lg btn-block" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>' OnClick="lbtDownload_Click" CommandArgument="NKC"><strong><%: Version("NKC") %></strong></asp:LinkButton>
</div>
</div>
</div>
<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">ZCode <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:LinkButton runat="server" ID="lbtDownloadZCode" class="btn btn-info text-light btn-lg btn-block" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>' OnClick="lbtDownload_Click" CommandArgument="ZCODE"><strong><%: Version("ZCODE") %></strong></asp:LinkButton>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<asp:Label runat="server" ID="lblOut"></asp:Label>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
+105
View File
@@ -0,0 +1,105 @@
using SteamWare;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.site
{
public partial class UpdMan : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
((SiteContent)this.Master).showSearch = false;
}
}
/// <summary>
/// Eseguo download pacchetti secondo richeista
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtDownload_Click(object sender, EventArgs e)
{
// NOTA: da rivedere con basic AUTH x nexus... da cambiare metodi libreria steamwareLibs...
// https://putridparrot.com/blog/downloading-a-file-from-url-using-basic-authentication/
// https://www.codeproject.com/Articles/13485/Secure-File-Download-Using-Basic-Authentication
// https://stackoverflow.com/questions/38798237/downloading-files-from-web-using-basic-url-authorization
// dati da salvare in RESOURCE file...vedere progetto MHT Siemens
// USER: SWDownloader
// PWD: viaD@nte16
LinkButton lnk = (LinkButton)sender;
string caller = lnk.CommandArgument;
string resultsMsg = "";
// in base al caller scarico il file installazione richiesto...
if (caller == null)
{
caller = "ALL";
}
// ora verifico COSA devo scaricare...
if (!string.IsNullOrEmpty(updateUrl(caller)))
{
// se è ALL scarico tutti...
if (caller == "ALL")
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
int done = 0;
// scarico TUTTI...
done += UpdateMan.obj.downloadLatest(updateUrl("NKC"), localDownloadPath("NKC"), "NKC");
done += UpdateMan.obj.downloadLatest(updateUrl("ZCODE"), localDownloadPath("ZCODE"), "ZCODE");
stopWatch.Stop();
// calcolo elapsed time come TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
resultsMsg = string.Format("OK: {0} Package downloaded, {1:0.000} sec", done, ts.TotalSeconds);
}
else
{
// scarico singolo target...
UpdateMan.obj.downloadLatest(updateUrl(caller), localDownloadPath(caller), caller);
resultsMsg = string.Format("OK: {0} DOWNLOADED | {1} --> {2}", caller, updateUrl(caller), localDownloadPath(caller));
}
}
// aggiorno messaggio
lblOut.Text = resultsMsg;
}
public string Version(object package)
{
string answ = "a.b.c.d";
UpdateInfoEventArgs updArgs = new UpdateInfoEventArgs();
// Recupero info ADM...
updArgs = UpdateMan.obj.getUpdateInfo(updateUrl(package.ToString()));
if (updArgs.IsUpdateAvailable)
{
answ = updArgs.CurrentVersion.ToString();
}
return answ;
}
/// <summary>
/// URLK stringa di UPDATE...
/// </summary>
protected string updateUrl(string package)
{
return string.Format("http://seriate.steamware.net:8083/SWS/{0}/{1}/manifest.xml", package, memLayer.ML.CRS("appVers"));
}
/// <summary>
/// Path locale dove scaricare gli installer
/// </summary>
protected string localDownloadPath(string package)
{
return string.Format(@"{0}{1}\{2}", memLayer.ML.CRS("downloadPath"), package, memLayer.ML.CRS("appVers"));
}
}
}
+53
View File
@@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace NKC_WF.site
{
public partial class UpdMan
{
/// <summary>
/// Controllo lbtDownloadAll.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtDownloadAll;
/// <summary>
/// Controllo lbtDownloadNKC.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtDownloadNKC;
/// <summary>
/// Controllo lbtDownloadZCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtDownloadZCode;
/// <summary>
/// Controllo lblOut.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<version>0.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>