Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">An <see cref="T:Leadtools.Wizard.WizardPageEventArgs">WizardPageEventArgs</see> that contains the event data.</param>
        /// <remarks></remarks>
        public override void OnWizardFinish(object sender, CancelEventArgs e)
        {
            if (!IsValid())
            {
                e.Cancel = true;
                return;
            }
            else
            {
                ProgressDialog      dlgProgresss = new ProgressDialog();
                BrokerServiceClient client       = GetWizard().Tag as BrokerServiceClient;

                if (_Update && comboBoxId.Text != _OriginalScheduledProcedureId)
                {
                    DialogResult r = Messager.ShowQuestion(this, "You searched for a scheduled procedure but have changed te scheduled procedure UID.  " +
                                                           "Would you like to update this scheduled procedure with the new UID?\r\n\r\n Clicking No will add a new scheduled procedure.",
                                                           MessageBoxButtons.YesNo);
                    _Update = r == DialogResult.Yes;
                }

                UpdateScheduledProcedureStep();
                dlgProgresss.Title       = _Update ? "Update Scheduled Procedure" : "Add Scheduled Procedure";
                dlgProgresss.Description = _Update ? "Updating..." : "Adding...";
                dlgProgresss.Action      = () =>
                {
                    if (_Update)
                    {
                        client.UpdateScheduledProcedureStep(_OriginalScheduledProcedureId, _ScheduledProcedureStep);
                    }
                    else
                    {
                        client.AddScheduledProcedureStep(_ImagingServiceRequest.AccessionNumber, _RequestedProcedure.RequestedProcedureID, _ScheduledProcedureStep);
                    }
                };

                if (dlgProgresss.ShowDialog(this) == DialogResult.Cancel)
                {
                    if (dlgProgresss.Exception != null)
                    {
                        e.Cancel = true;
                        Messager.ShowError(this, dlgProgresss.Exception);
                        return;
                    }
                }
                else
                {
                    if (_Update)
                    {
                        int index = comboBoxId.Items.IndexOf(_OriginalScheduledProcedureId);

                        if (index != -1)
                        {
                            comboBoxId.Items.Remove(_OriginalScheduledProcedureId);
                        }
                    }
                    comboBoxId.Items.Add(_ScheduledProcedureStep.ScheduledProcedureStepID);
                    comboBoxId.Text = _ScheduledProcedureStep.ScheduledProcedureStepID;
                    _OriginalScheduledProcedureId = _ScheduledProcedureStep.ScheduledProcedureStepID;
                }
            }

            base.OnWizardFinish(sender, e);
        }