public static List <BOL.Terminal.objTerminal> GetTerminalToTransfer(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "* " + "FROM " + "terminal " + "WHERE " + "active = @active_only AND id != @terminal_id"; List <BOL.Terminal.objTerminal> List = conn.Query <BOL.Terminal.objTerminal>(statement, new { terminal_id = terminal.id, active_only = true }).ToList(); conn.Close(); conn.Dispose(); return(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 Add(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "IFNULL(MAX(sorting), 0) + 1 " + "FROM " + "terminal"; int next_sorting = conn.Query <int>(statement).SingleOrDefault(); statement = "INSERT INTO terminal " + "(name, description, title_color, number_color, background_color, active, sorting) " + "VALUES " + "(@name, @description, @title_color, @number_color, @background_color, @active, @sorting)"; conn.Execute(statement, new { name = terminal.name, description = terminal.description, title_color = terminal.title_color, number_color = terminal.number_color, background_color = terminal.background_color, active = terminal.active, sorting = next_sorting }); conn.Close(); conn.Dispose(); return(true); } }
public static BOL.Terminal.objTerminal GetTerminal(long terminal_id) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "* " + "FROM " + "terminal " + "WHERE " + "id = @id"; BOL.Terminal.objTerminal Terminal = conn.Query <BOL.Terminal.objTerminal>(statement, new { id = terminal_id }).SingleOrDefault(); if (Terminal == null) { Terminal = new BOL.Terminal.objTerminal(); } conn.Close(); conn.Dispose(); return(Terminal); } }
public static bool Update(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "UPDATE " + "terminal " + "SET " + "name = @name, " + "description = @description, " + "title_color = @title_color, " + "number_color = @number_color, " + "background_color = @background_color, " + "active = @active " + "WHERE " + "id = @id"; conn.Execute(statement, new { id = terminal.id, name = terminal.name, description = terminal.description, title_color = terminal.title_color, number_color = terminal.number_color, background_color = terminal.background_color, active = terminal.active }); conn.Close(); conn.Dispose(); return(true); } }
public static bool Delete(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "UPDATE " + "terminal " + "SET " + "sorting = sorting - 1 " + "WHERE " + "sorting > @sorting"; statement += ";DELETE FROM " + "terminal " + "WHERE " + "id = @id"; conn.Execute(statement, new { id = terminal.id, sorting = terminal.sorting }); 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); } }
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 TerminalControl(COMMON.DataEvent main_event, BOL.Terminal.objTerminal terminal, BOL.Display_Settings.objDisplaySettings display_setting) { InitializeComponent(); this.Width = display_setting.terminal_width; this.Height = display_setting.terminal_height; this.TerminalTitle.FontSize = display_setting.terminal_name_fontsize; this.lblQueueNumber.FontSize = display_setting.queue_number_fontsize; this.Voice = new System.Speech.Synthesis.SpeechSynthesizer() { Volume = 100 }; this.MainEvent = main_event; this.Terminal = terminal; this.DefaultFontsize = lblQueueNumber.FontSize; this.Timer = new System.Windows.Threading.DispatcherTimer() { Interval = new TimeSpan(0, 0, 1) }; this.NotificationSound = new SoundPlayer(Properties.Resources.doorbell_sound); this.Timer.Tick += Timer_Tick; this.MainEvent.OnDataConfirm += MainEvent_OnDataConfirm; Initialize_Window(); }
public vmTerminalEntry(COMMON.SaveMode.Mode mode, BOL.Terminal.objTerminal terminal) { this.Mode = mode; this.Terminal = terminal; this.Save_Command = new COMMON.RelayCommand(Execute_Save, CanSave); this.Cancel_Command = new COMMON.RelayCommand(Execute_Cancel, CanCancel); Convert_StringToBrush(); }
public static bool Move_Down(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "* " + "FROM " + "terminal " + "WHERE " + "sorting > @sorting " + "ORDER BY " + "sorting ASC " + "LIMIT 1"; BOL.Terminal.objTerminal previous_terminal = conn.Query <BOL.Terminal.objTerminal>(statement, new { sorting = terminal.sorting }).SingleOrDefault(); if (previous_terminal != null) { statement = "UPDATE " + "terminal " + "SET " + "sorting = @current_sorting " + "WHERE " + "id = @previous_id"; statement += ";UPDATE " + "terminal " + "SET " + "sorting = @previous_sorting " + "WHERE " + "id = @current_id"; conn.Execute(statement, new { current_sorting = terminal.sorting, previous_id = previous_terminal.id, previous_sorting = previous_terminal.sorting, current_id = terminal.id }); } conn.Close(); conn.Dispose(); return(true); } }
public vmTermTrans(BOL.Terminal.objTerminal terminal) { TerminalTransactions = new ObservableCollection <BOL.Terminal_Transaction.objTerminalTransaction>(); Transactions = new ObservableCollection <BOL.Transaction.objTransaction>(); Terminal = terminal; this.Close_Command = new COMMON.RelayCommand(this.Execute_Close, this.CanClose); this.AddNew_Command = new COMMON.RelayCommand(this.Execute_AddNew, this.CanAddNew); this.Remove_Command = new COMMON.RelayCommand(this.Execute_Remove, this.CanRemove); this.MoveUp_Command = new COMMON.RelayCommand(this.Execute_MoveUp, this.CanMoveUp); this.MoveDown_Command = new COMMON.RelayCommand(this.Execute_MoveDown, this.CanMoveDown); Update_TerminalTransaction_List(); Update_AvailableTransactions_List(); }
//public Action CloseAction { get; set; } #endregion #region Constructors public vmTerminal(BOL.Terminal.objTerminal terminal, COMMON.DataEvent main_event) { this.Voice = new System.Speech.Synthesis.SpeechSynthesizer() { Volume = 100 }; this.Timer = new System.Windows.Threading.DispatcherTimer() { Interval = new TimeSpan(0, 0, 1) }; Timer.Tick += (s, a) => { Animate_Notification(); }; this.NotificationSound = new SoundPlayer(Properties.Resources.doorbell_sound); Terminal = terminal; MainEvent = main_event; MainEvent.OnDataConfirm += MainEvent_OnDataConfirm; IsVisible = Visibility.Visible; Initialize(); }
public static bool AddNew_Transaction(BOL.Terminal.objTerminal terminal, BOL.Transaction.objTransaction transaction) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "IFNULL(MAX(priority_level), 0) + 1 " + "FROM " + "terminal_transaction " + "WHERE " + "terminal_id = @terminal_id"; int next_level = conn.Query <int>(statement, new { terminal_id = terminal.id }).SingleOrDefault(); statement = "INSERT INTO " + "terminal_transaction " + "(terminal_id, transaction_id, priority_level) " + "VALUES " + "(@terminal_id, @transaction_id, @priority_level)"; conn.Execute(statement, new { terminal_id = terminal.id, transaction_id = transaction.id, priority_level = next_level }); conn.Close(); conn.Dispose(); return(true); } }
public static List <BOL.Transaction.objTransaction> GetAvailableTransactions(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "* " + "FROM " + "transaction " + "WHERE " + "active = @active AND id NOT IN (SELECT transaction_id FROM terminal_transaction WHERE terminal_id = @terminal_id)"; List <BOL.Transaction.objTransaction> List = conn.Query <BOL.Transaction.objTransaction>(statement, new { active = true, terminal_id = terminal.id }).ToList(); conn.Close(); conn.Dispose(); return(List); } }
public static BOL.Task.objTask GetTerminalClientTask(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var statement = "SELECT " + "* " + "FROM " + "task " + "WHERE " + "type = @type AND terminal_id = @terminal_id " + "ORDER BY " + "id ASC " + "LIMIT 1"; BOL.Task.objTask Task = conn.Query <BOL.Task.objTask>(statement, new { terminal_id = terminal.id, type = BOL.Task.objTask.MessageType.RefreshClientTerminal }).SingleOrDefault(); if (Task != null) { statement = "DELETE FROM " + "task " + "WHERE " + "id = @id"; conn.Execute(statement, new { id = Task.id }); } conn.Close(); conn.Dispose(); return(Task); } }
public static List <BOL.Terminal_Queue.objTerminalQueue> GetTerminalQueueHistory(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 DATE(TNQ.date_time) = CURRENT_DATE() AND TRQ.is_done = @is_done " + "ORDER BY " + "TRQ.id DESC"; List <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 = true, terminal_id = terminal.id, }).ToList(); conn.Close(); conn.Dispose(); return(Queue); } }
public static bool Set_Waiting_As_Current(BOL.Transaction_Queue.objTransactionQueue transaction_queue, BOL.Terminal.objTerminal terminal) { 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 = transaction_queue.objTransaction.id, terminal_id = terminal.id, transaction_queue_id = transaction_queue.id, is_done = false }); conn.Close(); conn.Dispose(); return(true); } }
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); } }
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 List <BOL.Transaction_Queue.objTransactionQueue> GetWaitingList(BOL.Terminal.objTerminal terminal) { using (var conn = DAL.Base.ConnectionManager.Connection) { var 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"; IEnumerable <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 }).ToList(); if (ForwardedQueue == null) { ForwardedQueue = new List <BOL.Transaction_Queue.objTransactionQueue>(); } 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"; IEnumerable <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 }).ToList(); if (TransQueue == null) { TransQueue = new List <BOL.Transaction_Queue.objTransactionQueue>(); } IEnumerable <BOL.Transaction_Queue.objTransactionQueue> WaitingList = ForwardedQueue.Union(TransQueue); conn.Close(); conn.Dispose(); return(WaitingList.ToList()); } }
public static List <BOL.Terminal_Transaction.objTerminalTransaction> GetTerminalTransactions(BOL.Terminal.objTerminal terminal) { 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 " + "ORDER BY " + "TT.priority_level ASC"; List <BOL.Terminal_Transaction.objTerminalTransaction> Transactions = 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.id }).ToList(); conn.Close(); conn.Dispose(); return(Transactions); } }