public void AuthenticateAsync() { _identity = _session.CreateIdentity(); _authenticator = _authenticatorFactory(this); _responseProcessors.Add(_authenticator); _serviceManager.Request(ServiceUris.AuthenticationService) .Then(service => { _authorisationService = service; _securityEntitlementsManager = new SecurityEntitlementsManager(_session, _authorisationService, _identity); _responseProcessors.Add(_securityEntitlementsManager); _userEntitlementsManager = new UserEntitlementsManager(_session, _authorisationService, _identity); _responseProcessors.Add(_userEntitlementsManager); return(_authenticator.Request(_session, service, _identity)); }) .Then(isAuthenticated => { RaiseEvent(AuthenticationStatus, new EventArgs <bool>(isAuthenticated)); return(isAuthenticated ? Promise.Resolved() : Promise.Rejected(new ApplicationException("Authentication failed"))); }) .ThenAll(() => new[] { _serviceManager.Request(ServiceUris.ReferenceDataService) .Then(service => { _referenceDataService = service; _referenceDataManager = new ReferenceDataManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_referenceDataManager); _historicalDataManager = new HistoricalDataManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_historicalDataManager); _intradayBarManager = new IntradayBarManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_intradayBarManager); _intradayTickManager = new IntradayTickManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_intradayTickManager); return(Promise.Resolved()); }), _serviceManager.Request(ServiceUris.MarketDataService) .Then(service => { _marketDataService = service; _subscriptionManager = new SubscriptionManager(_session, _identity); return(Promise.Resolved()); }) }).Done( () => RaiseEvent(InitialisationStatus, new EventArgs <bool>(true)), _ => RaiseEvent(InitialisationStatus, new EventArgs <bool>(false))); }
public void Start() { if (!_session.Start()) { throw new Exception("Failed to start session"); } _identity = _session.CreateIdentity(); _authorisationService = OpenService(ServiceUris.AuthenticationService); _securityEntitlementsManager = new SecurityEntitlementsManager(_session, _authorisationService, _identity); _responseProcessors.Add(_securityEntitlementsManager); _userEntitlementsManager = new UserEntitlementsManager(_session, _authorisationService, _identity); _responseProcessors.Add(_userEntitlementsManager); _authenticator = _authenticatorFactory(this); _responseProcessors.Add(_authenticator); _authenticator.Authenticate(_session, _authorisationService, _identity); _marketDataService = OpenService(ServiceUris.MarketDataService); _subscriptionManager = new SubscriptionManager(_session, _identity); _referenceDataService = OpenService(ServiceUris.ReferenceDataService); _historicalDataManager = new HistoricalDataManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_historicalDataManager); _intradayBarManager = new IntradayBarManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_intradayBarManager); _intradayTickManager = new IntradayTickManager(_session, _referenceDataService, _identity); _responseProcessors.Add(_intradayTickManager); RaiseEvent(InitialisationStatus, new EventArgs <bool>(true)); }