Files
C.TRACK/C-TRACK/UpdMan.aspx.cs
T
2019-04-26 09:18:47 +02:00

123 lines
3.4 KiB
C#

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 C_TRACK
{
public partial class UpdMan : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
checkPasskey();
}
protected string passKey
{
get
{
return memLayer.ML.getRSV("downloadPasskey");
}
set
{
memLayer.ML.setRSV("downloadPasskey", value, 60);
}
}
private void checkPasskey()
{
// controllo visibilità download da passkey inserita
if (passKey == "viadante16")
{
divDownload.Visible = true;
}
else
{
divDownload.Visible = false;
}
divCheck.Visible = !divDownload.Visible;
}
/// <summary>
/// Eseguo download pacchetti secondo richeista
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtDownload_Click(object sender, EventArgs e)
{
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 (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("CTRACK"), localDownloadPath("CTRACK"), "CTRACK");
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)
{
string answ = string.Format("http://seriate.steamware.net:8083/SWS/MAPO/{0}/{1}/manifest.xml", package, memLayer.ML.CRS("appVers"));
return answ;
}
/// <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"));
}
protected void txtPassKey_TextChanged(object sender, EventArgs e)
{
passKey = txtPassKey.Text.Trim();
checkPasskey();
}
}
}