private void ClearAll_Clicked(TrakHound_UI.Button bt)
        {
            var result = TrakHound_UI.MessageBox.Show("Are you sure you want to delete All messages?", "Delete All Messages", TrakHound_UI.MessageBoxButtons.YesNo);

            if (result == TrakHound_UI.MessageBoxDialogResult.Yes)
            {
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    if (mw != null && mw.CurrentUser != null)
                    {
                        var ids = new List <string>();

                        foreach (Message msg in Notifications)
                        {
                            if (msg.Data.Remote)
                            {
                                ids.Add(msg.Data.Id);
                            }
                        }
                        foreach (Message msg in DeviceAlerts)
                        {
                            if (msg.Data.Remote)
                            {
                                ids.Add(msg.Data.Id);
                            }
                        }
                        foreach (Message msg in Warnings)
                        {
                            if (msg.Data.Remote)
                            {
                                ids.Add(msg.Data.Id);
                            }
                        }
                        foreach (Message msg in Errors)
                        {
                            if (msg.Data.Remote)
                            {
                                ids.Add(msg.Data.Id);
                            }
                        }

                        if (ids.Count > 0)
                        {
                            var info        = new ClearMessagesInfo();
                            info.UserConfig = mw.CurrentUser;
                            info.MessageIds = ids.ToArray();

                            ThreadPool.QueueUserWorkItem(new WaitCallback(ClearMessages_Worker), info);
                        }
                    }
                }), System.Windows.Threading.DispatcherPriority.Background, new object[] { });

                foreach (Message msg in Notifications)
                {
                    msg.Shown = false;
                }
                foreach (Message msg in DeviceAlerts)
                {
                    msg.Shown = false;
                }
                foreach (Message msg in Warnings)
                {
                    msg.Shown = false;
                }
                foreach (Message msg in Errors)
                {
                    msg.Shown = false;
                }
            }

            CheckForMessages();
        }
        private void ClearAll_Clicked(TrakHound_UI.Button bt)
        {
            var result = TrakHound_UI.MessageBox.Show("Are you sure you want to delete All messages?", "Delete All Messages", TrakHound_UI.MessageBoxButtons.YesNo);
            if (result == TrakHound_UI.MessageBoxDialogResult.Yes)
            {
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    if (mw != null && mw.CurrentUser != null)
                    {
                        var ids = new List<string>();

                        foreach (Message msg in Notifications) if (msg.Data.Remote) ids.Add(msg.Data.Id);
                        foreach (Message msg in DeviceAlerts) if (msg.Data.Remote) ids.Add(msg.Data.Id);
                        foreach (Message msg in Warnings) if (msg.Data.Remote) ids.Add(msg.Data.Id);
                        foreach (Message msg in Errors) if (msg.Data.Remote) ids.Add(msg.Data.Id);

                        if (ids.Count > 0)
                        {
                            var info = new ClearMessagesInfo();
                            info.UserConfig = mw.CurrentUser;
                            info.MessageIds = ids.ToArray();

                            ThreadPool.QueueUserWorkItem(new WaitCallback(ClearMessages_Worker), info);
                        }
                    }
                }), System.Windows.Threading.DispatcherPriority.Background, new object[] { });

                foreach (Message msg in Notifications) msg.Shown = false;
                foreach (Message msg in DeviceAlerts) msg.Shown = false;
                foreach (Message msg in Warnings) msg.Shown = false;
                foreach (Message msg in Errors) msg.Shown = false;
            }

            CheckForMessages();
        }