private void Display()
        {
            if (WorkQueues != null && WorkQueues.Count > 0)
            {
                Model.WorkQueue workqueue = WorkQueues[0];
                WorkQueueSettingsPanel.SelectedPriority     = workqueue.WorkQueuePriorityEnum;
                WorkQueueSettingsPanel.NewScheduledDateTime = workqueue.ScheduledTime;
            }

            SelectedWorkQueueItemList.Refresh();

            if (WorkQueues == null)
            {
                return;
            }

            if (SelectedWorkQueueItemList.WorkQueueItems.Count != WorkQueueKeys.Count)
            {
                MessageDialog.Message     = HttpContext.GetGlobalResourceObject("SR", "WorkQueueNoLongerAvailable") as string;
                MessageDialog.MessageType =
                    MessageBox.MessageTypeEnum.INFORMATION;
                MessageDialog.Show();
            }

            ModalDialog.Show();
        }
        protected void OnApplyButtonClicked(object sender, EventArgs arg)
        {
            SelectedWorkQueueItemList.Refresh();
            Hide();

            foreach (Model.WorkQueue wq in WorkQueues)
            {
                if (wq == null)
                {
                    // the workqueue no longer exist in the db
                    MessageDialog.Message     = HttpContext.GetGlobalResourceObject("SR", "WorkQueueRescheduleFailed_ItemNotAvailable") as string;
                    MessageDialog.MessageType =
                        MessageBox.MessageTypeEnum.ERROR;
                    MessageDialog.Show();
                    return; // don't apply the changes
                }

                if (wq.WorkQueueStatusEnum == WorkQueueStatusEnum.InProgress)
                {
                    MessageDialog.Message     = HttpContext.GetGlobalResourceObject("SR", "WorkQueueRescheduleConfirm_ItemBeingProcessed") as string;
                    MessageDialog.MessageType = MessageBox.MessageTypeEnum.ERROR;
                    MessageDialog.Show();
                    return; // don't apply the changes
                }

                if (wq.WorkQueueStatusEnum == WorkQueueStatusEnum.Failed)
                {
                    MessageDialog.Message     = HttpContext.GetGlobalResourceObject("SR", "WorkQueueRescheduleFailed_ItemHasFailed") as string;
                    MessageDialog.MessageType = MessageBox.MessageTypeEnum.ERROR;
                    MessageDialog.Show();
                    return; // don't apply the changes
                }
            }

            if (SelectedWorkQueueItemList.WorkQueueItems == null || SelectedWorkQueueItemList.WorkQueueItems.Count == 0)
            {
                MessageDialog.BackgroundCSS = string.Empty;
                MessageDialog.Message       = HttpContext.GetGlobalResourceObject("SR", "SelectedWorkQueueNoLongerOnTheList") as string;
                MessageDialog.MessageStyle  = "color: red; font-weight: bold;";
                MessageDialog.MessageType   =
                    MessageBox.MessageTypeEnum.ERROR;
                MessageDialog.Show();

                return;
            }

            WorkQueueSettingsPanel.UpdateScheduleDateTime();
            ApplyChanges();
        }