public void Add(Exchange exchange) { if (exchange == null) { throw new ArgumentNullException(nameof(exchange)); } Exchanges = new List <Exchange>(Exchanges) { exchange }.ToArray(); ExchangeAdded?.Invoke(this, exchange); }
/// <summary> /// To save the exchange. /// </summary> /// <param name="exchange">Exchange.</param> public virtual void Save(Exchange exchange) { if (exchange == null) { throw new ArgumentNullException(nameof(exchange)); } lock (_exchanges.SyncRoot) { if (!_exchanges.TryAdd(exchange.Name, exchange)) { return; } } ExchangeAdded?.Invoke(exchange); }
void IExchangeInfoProvider.Save(Exchange exchange) { if (exchange == null) { throw new ArgumentNullException(nameof(exchange)); } lock (_exchanges.SyncRoot) { if (!_exchanges.TryAdd(exchange.Name, exchange)) { return; } } ExchangeAdded.SafeInvoke(exchange); }
/// <summary> /// To save the exchange. /// </summary> /// <param name="exchange">Exchange.</param> public void Save(Exchange exchange) { if (exchange == null) { throw new ArgumentNullException(nameof(exchange)); } _entityRegistry.Exchanges.Save(exchange); lock (_exchanges.SyncRoot) { if (!_exchanges.TryAdd(exchange.Name, exchange)) { return; } } ExchangeAdded.SafeInvoke(exchange); }
/// <summary> /// To save the exchange. /// </summary> /// <param name="exchange">Exchange.</param> public virtual void Save(Exchange exchange) { if (exchange == null) { throw new ArgumentNullException(nameof(exchange)); } lock (_exchanges.SyncRoot) { var oldExchange = _exchanges.TryGetValue(exchange.Name); if (ReferenceEquals(oldExchange, exchange)) { return; } _exchanges[exchange.Name] = exchange; } ExchangeAdded?.Invoke(exchange); }
public SavingsTransaction CreateSavingsTransactionWhen(ExchangeAdded notification) { var savingsTransaction = _savingsTransactionFactory.CreateFrom(SavingsTransactionType.Exchange, notification.Value, notification.PaymentDate, $"{notification.ExchangeValue} @ {notification.ExchangeRate}", notification.Details, notification.ExchangeId); return(savingsTransaction); }