public static Products ToEnum(this ProductInfoMessage product) { if (product == null) { throw new ArgumentNullException(nameof(product)); } return(_productsMapping.First(p => p.Value.Id == product.Id).Key); }
/// <inheritdoc /> public void Login(ProductInfoMessage product, Version version, string login, SecureString password) { //if (login.IsEmpty()) // throw new ArgumentNullException(nameof(login)); if (password.IsEmpty()) { throw new ArgumentNullException(nameof(password)); } HandleResponse(product, Invoke(f => f.Login4(product?.Id ?? 0, version.To <string>(), login, password.UnSecure()))); }
/// <inheritdoc /> public Tuple <Guid, long> Login(ProductInfoMessage product, Version version, string login, SecureString password) { //if (login.IsEmpty()) // throw new ArgumentNullException(nameof(login)); if (password.IsEmpty()) { throw new ArgumentNullException(nameof(password)); } return(HandleResponse(product, Invoke(f => IsToken ? f.Login5(product?.Id ?? 0, version.To <string>(), password.UnSecure()) : f.Login4(product?.Id ?? 0, version.To <string>(), login, password.UnSecure())))); }
/// <summary> /// Get product's public name. /// </summary> /// <param name="product">Product.</param> /// <returns>Public name.</returns> public static string GetPublicName(this ProductInfoMessage product) { if (product == null) { throw new ArgumentNullException(nameof(product)); } var name = product.Name.Remove("S#.", true); if (name.CompareIgnoreCase("Data")) { name = "Hydra"; } return(name); }
/// <inheritdoc /> public void Login(ProductInfoMessage product, Version version, string login, SecureString password) { if (login.IsEmpty()) { throw new ArgumentNullException(nameof(login)); } if (password.IsEmpty()) { throw new ArgumentNullException(nameof(password)); } var tuple = Invoke(f => f.Login4(product?.Id ?? 0, version.To <string>(), login, password.UnSecure())); tuple.Item1.ToErrorCode().ThrowIfError(); NullableSessionId = tuple.Item1; UserId = tuple.Item2; if (product != null) { _pingTimer = ThreadingHelper.Timer(() => { try { var session = NullableSessionId; if (session == null) { return; } lock (_pingSync) { Invoke(f => f.Ping(session.Value)); } } catch (Exception ex) { ex.LogError(); } }).Interval(TimeSpan.FromMinutes(10)); } }
private Tuple <Guid, long> HandleResponse(ProductInfoMessage product, Tuple <Guid, long> tuple) { if (tuple is null) { throw new ArgumentNullException(nameof(tuple)); } tuple.Item1.ToErrorCode().ThrowIfError(); _sessionId = tuple.Item1; UserId = tuple.Item2; if (product != null) { _pingTimer = ThreadingHelper.Timer(() => { try { var session = _sessionId; if (session == null) { return; } lock (_pingSync) { Invoke(f => f.Ping(session.Value)); } } catch (Exception ex) { ex.LogError(); } }).Interval(TimeSpan.FromMinutes(10)); } return(tuple); }
/// <summary> /// Initializes a new instance of the <see cref="CommunityAuthorization"/>. /// </summary> /// <param name="product">Product.</param> /// <param name="version">Version.</param> /// <param name="client">The client for access to the StockSharp authentication service.</param> public CommunityAuthorization(ProductInfoMessage product, Version version, IAuthenticationClient client) { _product = product ?? throw new ArgumentNullException(nameof(product)); _version = version ?? throw new ArgumentNullException(nameof(version)); _client = client ?? throw new ArgumentNullException(nameof(client)); }
/// <inheritdoc /> public Tuple <Guid, long> Login(ProductInfoMessage product, Version version, SecureString token) { return(HandleResponse(product, Invoke(f => f.Login5(product?.Id ?? 0, version.To <string>(), token.UnSecure())))); }
/// <inheritdoc /> public void Login(ProductInfoMessage product, Version version, SecureString token) { HandleResponse(product, Invoke(f => f.Login5(product?.Id ?? 0, version.To <string>(), token.UnSecure()))); }