using System.Collections.Generic; using System.Linq; using Oqtane.Models; namespace Oqtane.Infrastructure { // singleton public class ServerStateManager { private List _serverStates { get; set; } public ServerStateManager() { _serverStates = new List(); } public ServerState GetServerState(int siteId) { var serverState = _serverStates.FirstOrDefault(item => item.SiteId == siteId); if (serverState == null) { serverState = new ServerState(); serverState.SiteId = siteId; serverState.Assemblies = new List(); serverState.Scripts = new List(); return serverState; } else { return serverState; } } public void SetServerState(int siteId, ServerState serverState) { var serverstate = _serverStates.FirstOrDefault(item => item.SiteId == siteId); if (serverstate == null) { serverState.SiteId = siteId; _serverStates.Add(serverState); } else { serverstate.Assemblies = serverState.Assemblies; serverstate.Scripts = serverState.Scripts; } } } }