/// <summary>
    /// Starts the import process inside its own thread.
    /// </summary>
    /// <param name="args">The args.</param>
    public void StartJobProcess(Object args)
    {
        string           jobId = GetJobId();
        IDeDupJobProcess job   = DeDupService.GetJob(jobId);

        if (job != null)
        {
            SetStartProcessInfo();
            try
            {
                SetStartProcessInfo();
                AddJob(job);
                job.OnProgressEvent += JobProgressHandler;
                job.Start();
                SetCompleteProcessInfo();
            }
            catch
            {
            }
            finally
            {
                SetCompleteProcessInfo();
                RemoveJob(job);
                object objShutDown = Page.Session["SessionShutDown"];
                if (Convert.ToBoolean(objShutDown))
                {
                    if (CanShutDown())
                    {
                        ApplicationContext.Shutdown();
                        Page.Session.Abandon();
                    }
                }
            }
        }
    }
    /// <summary>
    /// Handles the OnClick event of the cmdAbort control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void cmdAbort_OnClick(object sender, EventArgs e)
    {
        string jobId = GetJobId();

        DeDupService.AbortJob(jobId);
        Page.Session["DeDupJob"] = null;

        RadProgressContext jobProgress = RadProgressContext.Current;

        jobProgress["OperationComplete"] = "True";
        GoToDeDupManager();
    }