         }
     }
     
+    func pushUserNotification(title:String, informativeText:String){
+        let notification:NSUserNotification = NSUserNotification()
+        notification.title = title
+        notification.informativeText = informativeText
+        notification.deliveryDate = NSDate()
+        notification.soundName = NSUserNotificationDefaultSoundName
+        
+        let center = NSUserNotificationCenter.defaultUserNotificationCenter()
+        center.scheduleNotification(notification)
+        center.delegate = self
+    }
+    
     func summitTicket(ticket:QueryLeftNewDTO,seatTypeId:String,isAuto:Bool){
         let notificationCenter = NSNotificationCenter.defaultCenter()
         

            for ticket in self.filterQueryResult {
                if ticket.hasTicketForSeatTypeFilterKey(self.seatFilterKey) {
                    self.stopAutoQuery()
                    self.summitTicket(ticket, seatTypeId: ticket.getSeatTypeNameByFilterKey(self.seatFilterKey)!,isAuto: true)
                    NotifySpeaker.sharedInstance.notify()
                    break;
                }
            }

    }
    
    func clickSubmit(sender: NSButton){
        if hasAutoQuery {
            self.stopAutoQuery()
        }
        let selectedRow = leftTicketTable.rowForView(sender)
        let ticket = filterQueryResult[selectedRow]
        let seatTypeId = sender.identifier!
