Beispiel #1
0
        public async Task <bool> InsertAsync(MarketValue lot)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();

                // Check if exists else update
                var selectSql = $@"SELECT count(*) from [dbo].[PortfolioValue] WHERE PortfolioId={lot.PortfolioId} and AsOf='{lot.Date}'";

                int rows = (int)(await connection.ExecuteScalarAsync(selectSql));

                if (rows > 0)
                {
                    return(await Update(lot, connection));
                }

                var sql = $"INSERT [dbo].[PortfolioValue] ([PortfolioId],[Value], [AsOf]) VALUES (@PortfolioId, @MktValue, @Date )";
                rows = await connection.ExecuteAsync(sql, new { lot.PortfolioId, lot.MktValue, lot.Date });

                if (rows > 0)
                {
                    return(true);
                }

                return(false);
            }
        }
Beispiel #2
0
 public async Task <bool> UpdateAysnc(MarketValue lot)
 {
     using (var connection = new SqlConnection(connectionString))
     {
         connection.Open();
         return(await Update(lot, connection));
     }
 }
Beispiel #3
0
        private static async Task <bool> Update(MarketValue lot, SqlConnection connection)
        {
            var sql  = $@"UPDATE [dbo].[PortfolioValue] 
                                SET [Value]={lot.MktValue} 
                            WHERE PortfolioId={lot.PortfolioId} and AsOf='{lot.Date}'";
            int rows = await connection.ExecuteAsync(sql, new { lot.PortfolioId, lot.MktValue, lot.Date });

            if (rows > 0)
            {
                return(true);
            }

            return(false);
        }