public static bool Remove(BOL.Terminal_Transaction.objTerminalTransaction terminal_transaction) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "UPDATE " + "terminal_transaction " + "SET " + "priority_level = priority_level - 1 " + "WHERE " + "terminal_id = @terminal_id AND priority_level > @priority_level"; statement += ";DELETE FROM " + "terminal_transaction " + "WHERE " + "id = @id"; conn.Execute(statement, new { terminal_id = terminal_transaction.terminal_id, priority_level = terminal_transaction.priority_level, id = terminal_transaction.id }); conn.Close(); conn.Dispose(); return(true); } }
public static bool Move_Down(BOL.Terminal_Transaction.objTerminalTransaction terminal_transaction) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "TT.*, T.* " + "FROM " + "terminal_transaction TT " + "INNER JOIN transaction T ON TT.transaction_id = T.id " + "WHERE " + "TT.terminal_id = @terminal_id AND priority_level > @priority_level AND TT.id != @id " + "ORDER BY " + "TT.priority_level ASC " + "LIMIT 1"; BOL.Terminal_Transaction.objTerminalTransaction previous_termninaltransaction = conn.Query <BOL.Terminal_Transaction.objTerminalTransaction, BOL.Transaction.objTransaction, BOL.Terminal_Transaction.objTerminalTransaction>(statement, (TT, T) => { TT.objTransaction = T; return(TT); }, new { terminal_id = terminal_transaction.terminal_id, priority_level = terminal_transaction.priority_level, id = terminal_transaction.id }).SingleOrDefault(); if (previous_termninaltransaction != null) { statement = "UPDATE " + "terminal_transaction " + "SET " + "priority_level = @priority_down " + "WHERE " + "id = @previous_id"; statement += ";UPDATE " + "terminal_transaction " + "SET " + "priority_level = @priority_up " + "WHERE " + "id = @current_id"; conn.Execute(statement, new { priority_down = terminal_transaction.priority_level, previous_id = previous_termninaltransaction.id, priority_up = previous_termninaltransaction.priority_level, current_id = terminal_transaction.id }); } conn.Close(); conn.Dispose(); return(true); } }