210 lines
5.0 KiB
C#
210 lines
5.0 KiB
C#
using SteamWare;
|
|
using System;
|
|
|
|
namespace AppData
|
|
{
|
|
public class licenzeApp
|
|
{
|
|
/// <summary>
|
|
/// Numero di utenti attivi
|
|
/// </summary>
|
|
public static int utentiAttivi
|
|
{
|
|
get
|
|
{
|
|
int answ = dataLayer.man.taAO.GetData().Count;
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Numero postazioni
|
|
/// </summary>
|
|
public static int postazioniAttive
|
|
{
|
|
get
|
|
{
|
|
int answ = dataLayer.man.taAP.GetData().Count;
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// numero di licenze attive sul sw (SE CONFORMI A CHIAVE) altrimenti da dll steamware
|
|
/// </summary>
|
|
public static int licenzeAttive
|
|
{
|
|
get
|
|
{
|
|
int answ = 0;
|
|
try
|
|
{
|
|
int licenzeMax = SteamWare.licenseMan.getLicenseNum(installazione, applicazione);
|
|
// verifico dato su DB sia valido... expiry date con quel numero sia > della data odierna!!!
|
|
if (scadenzaLicenza >= DateTime.Today)
|
|
{
|
|
answ = licenzeDb;
|
|
}
|
|
else
|
|
{
|
|
answ = licenzeMax;
|
|
}
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog($"Eccezione in licenzeAttive:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// numero di licenze attive su DB (NON verificate!)
|
|
/// </summary>
|
|
public static int licenzeDb
|
|
{
|
|
get
|
|
{
|
|
int answ = 0;
|
|
// controllo su db...
|
|
try
|
|
{
|
|
answ = rigaLicenza.valInt;
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog($"Eccezione in licenzeDb:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// chaive licenza
|
|
/// </summary>
|
|
public static string authKey
|
|
{
|
|
get
|
|
{
|
|
string answ = "";
|
|
// controllo su db...
|
|
try
|
|
{
|
|
answ = rigaLicenza.valString;
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog($"Eccezione in authKey:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// nome installazione sw
|
|
/// </summary>
|
|
public static string installazione
|
|
{
|
|
get
|
|
{
|
|
string answ = "";
|
|
try
|
|
{
|
|
answ = dataLayer.man.taAKV.getByKey("installazione")[0].valString;
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog(string.Format("Errore recupero chiave installazione da AKV: {0}", exc), tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// modalità applicazione (pagina test.aspx)
|
|
/// </summary>
|
|
public static string modApp
|
|
{
|
|
get
|
|
{
|
|
string answ = "";
|
|
try
|
|
{
|
|
answ = dataLayer.man.taAKV.getByKey("appMode")[0].valString;
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog(string.Format("Errore recupero chiave appMode da AKV: {0}", exc), tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// nome applicazione sw
|
|
/// </summary>
|
|
public static string applicazione
|
|
{
|
|
get
|
|
{
|
|
string answ = memLayer.ML.CRS("appName");
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// verifica se numero licenze copre utenti attivi...
|
|
/// </summary>
|
|
public static bool checkLicenze
|
|
{
|
|
get
|
|
{
|
|
bool answ = false;
|
|
try
|
|
{
|
|
answ = utentiAttivi <= licenzeAttive;
|
|
if (!answ && memLayer.ML.CRI("_logLevel") > 5)
|
|
{
|
|
logger.lg.scriviLog(string.Format("WARNING licenze: utenti attivi {0} / licenziati {1}", utentiAttivi, licenzeAttive), tipoLog.WARNING);
|
|
}
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog($"Eccezione in checkLicenze:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// scadenza licenze x applicativo
|
|
/// </summary>
|
|
public static DateTime scadenzaLicenza
|
|
{
|
|
get
|
|
{
|
|
DateTime answ = DateTime.Now.AddYears(2000 - DateTime.Now.Year);
|
|
try
|
|
{
|
|
answ = licenseMan.expiryDateByAuthKey(installazione, applicazione, rigaLicenza.valInt, rigaLicenza.valString);
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
logger.lg.scriviLog($"Eccezione in scadenzaLicenza:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
|
|
}
|
|
return answ;
|
|
}
|
|
}
|
|
|
|
protected static DS_Utility.AnagKeyValueRow rigaLicenza
|
|
{
|
|
get
|
|
{
|
|
DS_Utility.AnagKeyValueRow riga = null;
|
|
DS_Utility.AnagKeyValueDataTable tabKey = dataLayer.man.taAKV.getByKey(installazione);
|
|
// se non trovato provo installazione + environment...
|
|
if (tabKey.Count == 0)
|
|
{
|
|
tabKey = dataLayer.man.taAKV.getByKey(applicazione);
|
|
}
|
|
if (tabKey.Count > 0)
|
|
{
|
|
riga = tabKey[0];
|
|
}
|
|
return riga;
|
|
}
|
|
}
|
|
}
|
|
}
|