public async Task <bool> UpsertSingleQuoteData(UpsertSingleQuoteData data) { var sql = @"IF EXISTS( SELECT 1 FROM SingleQuoteData WHERE SymbolId = @SymbolId) BEGIN UPDATE SingleQuoteData SET Price = @Price, High = @High, Low = @Low, [Open] = @Open, PreviousClose = @PreviousClose, Change = @Change, ChangePercent = @ChangePercent, Volume = @Volume, LastUpdated = @LastUpdated, LastTradingDay = @LastTradingDay WHERE SymbolId = @SymbolId; END ELSE BEGIN INSERT INTO SingleQuoteData (SymbolId, Price, High, Low, [Open], PreviousClose, Change, ChangePercent, Volume, LastUpdated, LastTradingDay) VALUES (@SymbolId, @Price, @High, @Low, @Open, @PreviousClose, @Change, @ChangePercent, @Volume, @LastUpdated, @LastTradingDay); END;"; using (var connection = new SqlConnection(_connectionString)) { int affectedRows = await connection.ExecuteAsync(sql, data); return(affectedRows == 1); } }
private async Task SetSingleQuoteData(UpsertSingleQuoteData data) { var repo = new StockDataRepository(AppTestSettings.Instance.GetDbOptionsMonitor()); await repo.UpsertSingleQuoteData(data); }