Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        private async Task SetSingleQuoteData(UpsertSingleQuoteData data)
        {
            var repo = new StockDataRepository(AppTestSettings.Instance.GetDbOptionsMonitor());

            await repo.UpsertSingleQuoteData(data);
        }