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); } }
public async Task <bool> UpdateAysnc(MarketValue lot) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); return(await Update(lot, connection)); } }
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); }