public async Task <bool> InsertAsync(ICashValue lot) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); // Check if exists else update var selectSql = $@"SELECT count(*) from [dbo].[CashValue] WHERE PortfolioId={lot.PortfolioId} and Date='{lot.Date}'"; int rows = (int)(await connection.ExecuteScalarAsync(selectSql)); if (rows > 0) { return(await Update(lot, connection)); } var sql = $"INSERT [dbo].[CashValue] ([PortfolioId],[Cash], [Date]) VALUES (@PortfolioId, @Cash, @Date )"; rows = await connection.ExecuteAsync(sql, new { lot.PortfolioId, lot.Cash, lot.Date }); if (rows > 0) { return(true); } return(false); } }
public async Task <bool> UpdateAysnc(ICashValue lot) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); return(await Update(lot, connection)); } }
private static async Task <bool> Update(ICashValue lot, SqlConnection connection) { var sql = $@"UPDATE [dbo].[PortfolioValue] SET [Value]={lot.Cash} WHERE PortfolioId={lot.PortfolioId} and AsOf='{lot.Date}'"; int rows = await connection.ExecuteAsync(sql, new { lot.PortfolioId, lot.Cash, lot.Date }); if (rows > 0) { return(true); } return(false); }