public GetDevice ValidateMainAccount() { var eInfo = Cypher.Encrypt(Environment.MachineName); var mConnInfo = ManagementExt.GetKey(); using (_repository) { var infoServer = _repository.GetInfoServer(Cypher.Encrypt(eInfo)); if (infoServer == null) { CreateInfoServer(eInfo, mConnInfo); return(null); } GetDevice decServInfo; if (IsUpdatedInfoServer(mConnInfo, infoServer, out decServInfo) == false) { UpdateInfoServer(mConnInfo, decServInfo, infoServer); return(null); } return(decServInfo); } }
public Connection(string address, string username, ILoggerFactory loggerFactory, IEnumerable <string> lstHubProxy) { _log = loggerFactory.Create(typeof(Connection)); _statusStream = new BehaviorSubject <ConnectionInfo>(new ConnectionInfo(ConnectionStatus.Uninitialized, address)); Address = address; _hubConnection = new HubConnection(address); _hubConnection.Headers.Add(SharedConstants.Server.USERNAME_HEADER, username); _hubConnection.Headers.Add(SharedConstants.Server.CONNECTION_ID_HEADER, Cypher.Encrypt(ManagementExt.GetKey())); CreateStatus().Subscribe( s => _statusStream.OnNext(new ConnectionInfo(s, address)), _statusStream.OnError, _statusStream.OnCompleted); _hubConnection.Error += exception => _log.Error("Hubo un error de conexión a la dirección " + address, exception); DicHubProxy = new Dictionary <string, IHubProxy>(); foreach (var hubName in lstHubProxy) { DicHubProxy.Add(hubName, _hubConnection.CreateHubProxy(hubName)); } }