public vmTerminalForwarding(BOL.Terminal.objTerminal terminal, BOL.Terminal_Queue.objTerminalQueue queue) { this.Terminal = terminal; this.Queue = queue; Buttons = new ObservableCollection <Views.ucButton>(); Update_Buttons_List(); }
public static bool TransferQueue(BOL.Terminal.objTerminal target_terminal, BOL.Terminal_Queue.objTerminalQueue queue) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "INSERT INTO " + "transaction_queue " + "(transaction_id, terminal_id, queue_number, date_time) " + "VALUES " + "(@transaction_id, @target_terminal, @queue_number, CURRENT_TIMESTAMP())"; statement += ";UPDATE " + "terminal_queue " + "SET " + "is_done = @is_done " + "WHERE " + "id = @id"; conn.Execute (statement, new { id = queue.id, is_done = true, transaction_id = queue.transaction_id, target_terminal = target_terminal.id, queue_number = queue.objTransactionQueue.queue_number }); conn.Close(); conn.Dispose(); return(true); } }
public static bool Set_History_As_Current(BOL.Terminal_Queue.objTerminalQueue terminal_queue) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "UPDATE " + "terminal_queue " + "SET " + "is_done = @previous_done " + "WHERE " + "terminal_id = @terminal_id"; statement += ";INSERT INTO " + "terminal_queue " + "(terminal_id, transaction_queue_id, is_done) " + "VALUES " + "(@terminal_id, @transaction_queue_id, @is_done)"; conn.Execute(statement, new { previous_done = true, transaction_id = terminal_queue.transaction_id, terminal_id = terminal_queue.terminal_id, transaction_queue_id = terminal_queue.transaction_queue_id, is_done = false }); conn.Close(); conn.Dispose(); return(true); } }
public static BOL.Terminal_Queue.objTerminalQueue GetCurrentQueue(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "TRQ.*, TNQ.*, T.* " + "FROM " + "terminal_queue TRQ " + "INNER JOIN transaction_queue TNQ ON TRQ.transaction_queue_id = TNQ.id " + "INNER JOIN transaction T ON TNQ.transaction_id = T.id " + "WHERE " + "TRQ.terminal_id = @terminal_id AND TRQ.is_done = @is_done AND DATE(TNQ.date_time) = CURRENT_DATE() " + "ORDER BY " + "TRQ.id DESC " + "LIMIT 1"; BOL.Terminal_Queue.objTerminalQueue Queue = conn.Query <BOL.Terminal_Queue.objTerminalQueue, BOL.Transaction_Queue.objTransactionQueue, BOL.Transaction.objTransaction, BOL.Terminal_Queue.objTerminalQueue>(statement, (TRQ, TNQ, T) => { TRQ.objTransactionQueue = TNQ; TNQ.objTransaction = T; return(TRQ); }, new { is_done = false, terminal_id = terminal.id, }).SingleOrDefault(); if (Queue == null) { Queue = new BOL.Terminal_Queue.objTerminalQueue(); } conn.Close(); conn.Dispose(); return(Queue); } }
void MainEvent_OnDataConfirm(object obj) { if (obj != null) { if (((BOL.Task.objTask)obj).terminal_id == this.Terminal.id) { switch (((BOL.Task.objTask)obj).type) { case BOL.Task.objTask.MessageType.NextQueue: DAL.Task.Task_Repository.Delete_Task((BOL.Task.objTask)obj); Queue = DAL.Terminal_Queue.TerminalQueue_Repository.GetCurrentQueue(this.Terminal); lblQueueNumber.Text = Queue.ToString(); if (Queue.id > 0) { count = 0; Timer.Start(); Anounce_Message("Client number " + Queue.ToString() + ", please proceed to " + Terminal.name); } break; case BOL.Task.objTask.MessageType.Recall: DAL.Task.Task_Repository.Delete_Task((BOL.Task.objTask)obj); Queue = DAL.Terminal_Queue.TerminalQueue_Repository.GetCurrentQueue(this.Terminal); lblQueueNumber.Text = Queue.ToString(); if (Queue.id > 0) { count = 0; Timer.Start(); Anounce_Message("Client number " + Queue.ToString() + ", please proceed to " + Terminal.name); } break; case BOL.Task.objTask.MessageType.QueueForward: DAL.Task.Task_Repository.Delete_Task((BOL.Task.objTask)obj); Queue = DAL.Terminal_Queue.TerminalQueue_Repository.GetCurrentQueue(this.Terminal); lblQueueNumber.Text = Queue.ToString(); break; case BOL.Task.objTask.MessageType.RefreshTerminal: DAL.Task.Task_Repository.Delete_Task((BOL.Task.objTask)obj); Queue = DAL.Terminal_Queue.TerminalQueue_Repository.GetCurrentQueue(this.Terminal); lblQueueNumber.Text = Queue.ToString(); break; default: //nothing break; } ; } } }
public static bool ReturnQueue(BOL.Terminal_Queue.objTerminalQueue queue) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "TRQ.*, TNQ.* " + "FROM " + "terminal_queue TRQ " + "INNER JOIN transaction_queue TNQ ON TRQ.transaction_queue_id = TNQ.id " + "WHERE " + "TNQ.queue_number = @queue_number AND DATE(TNQ.date_time) = CURRENT_DATE() AND TRQ.terminal_id != @terminal_id AND TRQ.is_done = @is_done " + "ORDER BY " + "TRQ.id DESC, TNQ.id DESC " + "LIMIT 1"; BOL.Terminal_Queue.objTerminalQueue Previous = conn.Query <BOL.Terminal_Queue.objTerminalQueue, BOL.Transaction_Queue.objTransactionQueue, BOL.Terminal_Queue.objTerminalQueue>(statement, (TRQ, TNQ) => { TRQ.objTransactionQueue = TNQ; return(TRQ); }, new { is_done = true, terminal_id = queue.terminal_id, queue_number = queue.objTransactionQueue.queue_number }).SingleOrDefault(); if (Previous != null) { statement = "INSERT INTO " + "transaction_queue " + "(transaction_id, terminal_id, queue_number, date_time) " + "VALUES " + "(@transaction_id, @target_terminal, @queue_number, CURRENT_TIMESTAMP())"; statement += ";UPDATE " + "terminal_queue " + "SET " + "is_done = @is_done " + "WHERE " + "id = @id"; conn.Execute (statement, new { id = queue.id, is_done = true, transaction_id = queue.transaction_id, target_terminal = Previous.terminal_id, queue_number = queue.objTransactionQueue.queue_number }); conn.Close(); conn.Dispose(); return(true); } conn.Close(); conn.Dispose(); return(false); } }
public ucButton(BOL.Terminal.objTerminal terminal, BOL.Terminal_Queue.objTerminalQueue terminal_queue) { this.Terminal = terminal; this.TerminalQueue = terminal_queue; this.Click_Command = new COMMON.RelayCommand(this.Execute_Click, this.CanClick); }
public static bool Next(BOL.Terminal.objTerminal terminal, BOL.Terminal_Queue.objTerminalQueue terminal_queue) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "UPDATE " + "terminal_queue " + "SET " + "is_done = @is_done " + "WHERE " + "id = @id"; conn.Execute(statement, new { id = terminal_queue.id, is_done = true }); statement = "SELECT " + "TQ.*, T.* " + "FROM " + "transaction_queue TQ " + "INNER JOIN transaction T ON TQ.transaction_id = T.id " + "WHERE " + "TQ.terminal_id = @terminal_id AND TQ.id NOT IN (SELECT transaction_queue_id FROM terminal_queue) AND DATE(TQ.date_time) = CURRENT_DATE() " + "ORDER BY " + "TQ.id ASC " + "LIMIT 1"; BOL.Transaction_Queue.objTransactionQueue ForwardedQueue = conn.Query <BOL.Transaction_Queue.objTransactionQueue, BOL.Transaction.objTransaction, BOL.Transaction_Queue.objTransactionQueue>(statement, (TQ, T) => { TQ.objTransaction = T; return(TQ); }, new { terminal_id = terminal.id }).SingleOrDefault(); if (ForwardedQueue == null) { statement = "SELECT " + "TQ.*, T.* " + "FROM " + "transaction_queue TQ " + "INNER JOIN transaction T ON TQ.transaction_id = T.id " + "INNER JOIN terminal_transaction TT ON T.id = TT.transaction_id " + "WHERE " + "TQ.id NOT IN (SELECT transaction_queue_id FROM terminal_queue) AND TT.terminal_id = @terminal_id AND TQ.terminal_id IS NULL AND DATE(TQ.date_time) = CURRENT_DATE() " + "ORDER BY " + "TT.priority_level ASC, TQ.queue_number ASC, TQ.id ASC " + "LIMIT 1"; BOL.Transaction_Queue.objTransactionQueue TransQueue = conn.Query <BOL.Transaction_Queue.objTransactionQueue, BOL.Transaction.objTransaction, BOL.Transaction_Queue.objTransactionQueue>(statement, (TQ, T) => { TQ.objTransaction = T; return(TQ); }, new { terminal_id = terminal.id }).SingleOrDefault(); if (TransQueue == null) { return(false); } statement = "INSERT INTO " + "terminal_queue " + "(terminal_id, transaction_queue_id, is_done) " + "VALUES " + "(@terminal_id, @transaction_queue_id, @is_done)"; conn.Execute(statement, new { transaction_id = TransQueue.objTransaction.id, terminal_id = terminal.id, transaction_queue_id = TransQueue.id, is_done = false }); conn.Close(); conn.Dispose(); return(true); } statement = "INSERT INTO " + "terminal_queue " + "(terminal_id, transaction_queue_id, is_done) " + "VALUES " + "(@terminal_id, @transaction_queue_id, @is_done)"; conn.Execute(statement, new { transaction_id = ForwardedQueue.objTransaction.id, terminal_id = terminal.id, transaction_queue_id = ForwardedQueue.id, is_done = false }); conn.Close(); conn.Dispose(); return(true); } }