/// <summary> /// Inietta le dipendenze richieste dal controller. /// </summary> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="oneTimeTokenEncoder"> /// Il componente che codifica e decodifica i token "one time". /// </param> protected AbstractHelpController(ICaravanDataSourceManager dataSourceManager, IClock clock, ICookieEncoder<OneTimeToken> oneTimeTokenEncoder) { // Preconditions Raise.ArgumentNullException.IfIsNull(dataSourceManager, nameof(dataSourceManager)); Raise.ArgumentNullException.IfIsNull(clock, nameof(clock)); Raise.ArgumentNullException.IfIsNull(oneTimeTokenEncoder, nameof(oneTimeTokenEncoder)); DataSourceManager = dataSourceManager; Clock = clock; _oneTimeTokenEncoder = oneTimeTokenEncoder; }
/// <summary> /// Inietta le dipendenze. /// </summary> /// <param name="log">Il log.</param> /// <param name="securityRepository">Gestione della sicurezza.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> public CaravanMenuController(ILog log, ICaravanSecurityRepository securityRepository, IClock clock, ICaravanDataSourceManager dataSourceManager) { // Preconditions Raise.ArgumentNullException.IfIsNull(log, nameof(log)); Raise.ArgumentNullException.IfIsNull(securityRepository, nameof(securityRepository)); Raise.ArgumentNullException.IfIsNull(clock, nameof(clock)); Raise.ArgumentNullException.IfIsNull(dataSourceManager, nameof(dataSourceManager)); _log = log; _securityRepository = securityRepository; _clock = clock; _dataSourceManager = dataSourceManager; }
/// <summary> /// Inietta le dipendenze richieste dal controller. /// </summary> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="oneTimeTokenEncoder"> /// Il componente che codifica e decodifica i token "one time". /// </param> public HelpController(ICaravanDataSourceManager dataSourceManager, IClock clock, ICookieEncoder<OneTimeToken> oneTimeTokenEncoder) : base(dataSourceManager, clock, oneTimeTokenEncoder) { }
/// <summary> /// Restituisce informazioni sul servizio, come la sorgente dati e la versione. /// </summary> /// <param name="assembly">L'assembly di cui si vuole mostrare la versione.</param> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> /// <param name="clock">L'orologio di sistema.</param> protected internal static ServiceInfoDTO GetServiceInfo(Assembly assembly, ICaravanDataSourceManager dataSourceManager, IClock clock) { // Lettura della versione dell'assembly del servizio. var version = FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion; // Lettura delle informazioni sul processo. var bitness = (IntPtr.Size == 4) ? "x86" : "x64"; var memoryUsageMB = Process.GetCurrentProcess().WorkingSet64 / (1024L * 1024L); // Lettura delle informazioni sulla macchina server. var hostName = Environment.MachineName.ToUpperInvariant(); // Lettura delle informazioni sulla sorgente dati. var dsName = dataSourceManager.DataSourceName.ToUpperInvariant(); var dsKind = dataSourceManager.DataSourceKind.ToString(); return new ServiceInfoDTO { Version = version, ProcessBitness = bitness, ProcessMemoryUsageMB = memoryUsageMB, HostName = hostName, HostDateTime = clock.UtcNow, DataSourceName = dsName, DataSourceKind = dsKind, DataSourceDateTime = dataSourceManager.DataSourceDateTime }; }