private void InsertSecurityStaticeDataIfNotExists(ISecurityStaticDataModel securityStaticDataModel) { _logger.Error($"HistoricDataGrabTask: Inserting static data if not exists for symbol: {securityStaticDataModel.Symbol}"); if (!_persistenceManager.DoesSecurityStaticDataExist(securityStaticDataModel)) { _persistenceManager.InsertSecurityStatic(securityStaticDataModel); } }
private void InsertSecurityStaticeDataIfNotExists(ISecurityStaticDataModel securityStaticDataModel) { try { _logger.Information($"FileBasedDataGrabTask: Inserting static data if not exists for symbol: {securityStaticDataModel.Symbol}"); if (!_persistenceManager.DoesSecurityStaticDataExist(securityStaticDataModel)) { _persistenceManager.InsertSecurityStatic(securityStaticDataModel); } } catch(Exception exception) { _logger.Error($"FileBasedDataGrabTask: Error processing static data for symbol: {securityStaticDataModel.Symbol}"); _logger.Error(exception.ToString()); } }
public void InsertSecurityStatic(ISecurityStaticDataModel securityStaticData) { _logger.Information($"PersistenceManager: Inserting security static data: {securityStaticData.Symbol}"); int?exchangeId = GetExchangeIdByName(securityStaticData.ExchangeData.ExchangeName); if (!exchangeId.HasValue) { throw new ArgumentException($"Attempting to insert static data {securityStaticData.ShortName} " + $"for exchange {securityStaticData.ExchangeData.ExchangeName} which doesn't exist."); } string commandString = "INSERT INTO SecurityDetails(Name, Symbol, ExchangeId) Values(@Name, @Symbol, @ExchangeId);"; var parameters = new Dictionary <string, object> { { "@Name", securityStaticData.ShortName }, { "@Symbol", securityStaticData.Symbol }, { "@ExchangeId", exchangeId.Value } }; ExecuteNoReadQuery(commandString, 1, parameters); }
public bool DoesSecurityStaticDataExist(ISecurityStaticDataModel securityStaticData) { _logger.Information($"PersistenceManager: Checking for the existence of security data: {securityStaticData.Symbol}"); string commandString = "SELECT * FROM SecurityDetails WHERE Symbol = @Symbol;"; using (IMySqlCommandWrapper commandWrapper = _commandWrapperFactory.GetCommandWrapper(commandString, _connectionWrapper)) { commandWrapper.AddParameter("@Symbol", securityStaticData.Symbol); lock (_lockObject) { using (IMySqlDataReaderWrapper dataReader = commandWrapper.ExecuteReader()) { string existenceLog = dataReader.HasRows ? "exists" : "does not exist"; _logger.Information($"PersistenceManager: Security static data {securityStaticData.Symbol} {existenceLog}"); return(dataReader.HasRows); } } } }