예제 #1
0
        private void WorkQueueGetWorkButton_Click(object sender, RoutedEventArgs e)
        {
            if (WorkQueueSelection.SelectedItem != null)
            {
                Telerik.Windows.Controls.RadComboBoxItem selectedItem = (Telerik.Windows.Controls.RadComboBoxItem)WorkQueueSelection.SelectedItem;

                MercuryApplication.ProgressBarShow(this);

                MercuryApplication.WorkQueueGetWork((Server.Application.WorkQueue)selectedItem.Tag, GetWorkCompleted);
            }

            return;
        }
예제 #2
0
        public void Initialize_WorkQueuesAvailableCompleted(Object sender, Server.Application.WorkQueuesAvailableCompletedEventArgs e)
        {
            if (SetExceptionMessage(e))
            {
                return;
            }


            workQueuesAvailable = Client.Converters.ServerCollectionToClient.WorkQueueCollection(MercuryApplication, e.Result.Collection);


            // INITIALIZE WORK QUEUE SELECTION OPTIONS

            WorkQueueSelection.SelectedValuePath = "Id"; // TAG WILL CONTAIN SERVER.APPLICATION.WORKQUEUE


            foreach (Server.Application.WorkQueue currentWorkQueue in e.Result.Collection)
            {
                if (MercuryApplication.Session.WorkQueuePermissions.ContainsKey(currentWorkQueue.Id))
                {
                    Telerik.Windows.Controls.RadComboBoxItem item = new Telerik.Windows.Controls.RadComboBoxItem();

                    item.Content = currentWorkQueue.Name;

                    item.Tag = currentWorkQueue;

                    WorkQueueSelection.Items.Add(item);
                }
            }

            if (WorkQueueSelection.Items.Count > 0)
            {
                WorkQueueSelection.SelectedIndex = 0;
            }


            // INITIALIZE GRID

            InitializeMyAssignedWorkGrid();

            return;
        }
예제 #3
0
        private void GetWorkCompleted(Object Sender, Server.Application.WorkQueueGetWorkCompletedEventArgs e)
        {
            if (SetExceptionMessage(e))
            {
                return;
            }

            InitializeMyAssignedWorkGrid();

            MercuryApplication.ProgressBarHide(this);

            if ((e.Result != null) && (WorkQueueSelection.SelectedItem != null))
            {
                if (e.Result.WorkQueueItem != null)
                {
                    Telerik.Windows.Controls.RadComboBoxItem selectedItem = (Telerik.Windows.Controls.RadComboBoxItem)WorkQueueSelection.SelectedItem;

                    Server.Application.WorkQueue workQueue = (Server.Application.WorkQueue)selectedItem.Tag;

                    if (workQueue.WorkflowId != 0)
                    {
                        Dictionary <String, Object> windowParameters = new Dictionary <String, Object> ();

                        windowParameters.Add("WorkQueueItemId", e.Result.WorkQueueItem.Id);

                        WindowManager.OpenWindow("Workflow.Workflow", windowParameters);
                    }
                }

                else
                {
                    SetExceptionMessage("No Work Queue Items Available in this Work Queue.");
                }
            }


            return;
        }
예제 #4
0
        public void InitializePrompt(Server.Application.WorkflowUserInteractionRequestPromptUser forPromptRequest)
        {
            promptRequest = forPromptRequest;

            PromptTitle.Text = promptRequest.PromptTitle;

            PromptMessage.Text = ParseSmartTag(promptRequest.PromptMessage);

            if (promptRequest.PromptImage == Mercury.Server.Application.UserPromptImage.NoImage)
            {
                PromptImage.Visibility = System.Windows.Visibility.Collapsed;
            }

            else
            {
                PromptImage.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("../../Images/Common32/" + promptRequest.PromptImage.ToString() + ".png", UriKind.Relative));
            }

            switch (promptRequest.PromptType)
            {
            case Mercury.Server.Application.UserPromptType.ConfirmationYesNo:

                ButtonOk.Content = "Yes";

                ButtonCancel.Content = "No";

                break;

            case Mercury.Server.Application.UserPromptType.Selection:

                PromptSelectionItemsSelection.Visibility = System.Windows.Visibility.Visible;

                ButtonCancel.IsEnabled = promptRequest.AllowCancel;

                if (promptRequest.SelectionItems != null)
                {
                    foreach (Mercury.Server.Application.WorkflowUserInteractionRequestPromptSelectionItem currentSelectionItem in promptRequest.SelectionItems)
                    {
                        Telerik.Windows.Controls.RadComboBoxItem selectionItem = new Telerik.Windows.Controls.RadComboBoxItem();

                        selectionItem.Content = currentSelectionItem.Text;

                        selectionItem.Tag = currentSelectionItem.Value;

                        selectionItem.IsEnabled = currentSelectionItem.Enabled;

                        selectionItem.IsSelected = currentSelectionItem.Selected;

                        PromptSelectionItemsSelection.Items.Add(selectionItem);
                    }

                    if (PromptSelectionItemsSelection.Items.Count > 0)
                    {
                        PromptSelectionItemsSelection.SelectedIndex = 0;
                    }
                }

                break;
            }

            return;
        }
        private void MercuryApplication_AuthenticateCompleted(Object sender, Server.Enterprise.AuthenticateWindowsCompletedEventArgs e)
        {
            ConnectProgressBar.Visibility = System.Windows.Visibility.Collapsed;

            ConnectProgressText.Visibility = System.Windows.Visibility.Collapsed;


            if (e.Error != null)
            {
                AuthenticationResponse.Text = e.Error.Message;

                return;
            }

            Server.Enterprise.AuthenticationResponse response = e.Result;

            if ((response.AuthenticationError == Server.Enterprise.AuthenticationError.NoError) && (!String.IsNullOrWhiteSpace(response.Token)))
            {
                WindowCommand_Close();

                return;
            }

            else
            {
                if (response.AuthenticationError == Server.Enterprise.AuthenticationError.MustSelectEnvironment)
                {
                    AuthenticationResponse.Text = String.Empty;

                    EnvironmentSelection.Items.Clear();

                    String[] availableEnvironments = response.Environments.Split(';');

                    foreach (String currentEnvironment in availableEnvironments)
                    {
                        Telerik.Windows.Controls.RadComboBoxItem item = new Telerik.Windows.Controls.RadComboBoxItem();

                        item.Content = currentEnvironment;

                        EnvironmentSelection.Items.Add(item);
                    }

                    if (EnvironmentSelection.Items.Count == 0)
                    {
                        AuthenticationResponse.Text = "Unable to access any environments with this account. You will not be able to use Mercury.";
                    }

                    else if (EnvironmentSelection.Items.Count == 1)
                    {
                        EnvironmentSelection.SelectedIndex = 0;

                        Connect_Click(null, null);
                    }

                    else
                    {
                        AuthenticationResponse.Text = "Multiple environments available. Please, select an environment.";

                        EnvironmentSelection.SelectedIndex = 0;
                    }
                }

                else
                {
                    AuthenticationResponse.Text = response.AuthenticationError.ToString() + " ";

                    if (response.HasException)
                    {
                        AuthenticationResponse.Text += response.Exception.Message;
                    }
                }
            }

            return;
        }