void issue_issueEscalationEvent(object sender, issueEscalateEventArgs e)
        {
            Issue issue = (Issue)sender;


            List <Shift> sl = shifts.getShifts(DateTime.Now.TimeOfDay);

            List <int> slID = new List <int>();

            foreach (Shift s in sl)
            {
                slID.Add(s.ID);
            }



            List <Contact> receivers = contacts.getContactList(issue.Line, slID,
                                                               issue.Department, e.escalationLevel);

            foreach (Contact c in receivers)
            {
                dataAccess.insertSmsTrigger(c.Number, issue.Message + "-- Escalation Level" + e.escalationLevel.ToString(), 1, DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss"));
            }


            if (e.escalationLevel > 0)
            {
                tbMsg.Dispatcher.BeginInvoke(DispatcherPriority.Background,
                                             new Action(() =>
                {
                    tbMsg.Text += issue.Message + "-- Escalation Level" + e.escalationLevel.ToString()
                                  + Environment.NewLine;
                }));
            }
        }
        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            timer.Stop();

            State = ISSUE_STATE.CRITICAL;
            this.criticalLevel++;

            if (issueEscalationEvent != null)
            {
                issueEscalateEventArgs args = new issueEscalateEventArgs(this.criticalLevel);
                issueEscalationEvent(this, args);
            }

            if (this.criticalLevel < 4)
            {
                timer.Interval = timeout[criticalLevel] * 60 * 1000;;
                timer.Start();
            }
        }