private void MapAlignmentToRCADWorker(object sender, DoWorkEventArgs e)
        {
            if (e.Argument == null)
            {
                return;
            }
            RCADMappingArgs connArgs = e.Argument as RCADMappingArgs;

            if (connArgs != null)
            {
                Mapper m = new Mapper(_alignment, connArgs.ConnectionString, connArgs.Database);
                m.Map();
                e.Result = m;
            }
        }
        private void MapAlignmentToRCAD(rCADConnection connection)
        {
            string connectionString = connection.BuildConnectionString();

            MappingToRCAD     = true;
            RCADMappingStatus = MAPPING_ALIGNMENT_MESSAGE;
            CommandManager.InvalidateRequerySuggested();
            RCADMappingArgs args = new RCADMappingArgs()
            {
                ConnectionString = connectionString, Database = connection.Database
            };

            _worker                     = new BackgroundWorker();
            _worker.DoWork             += new DoWorkEventHandler(MapAlignmentToRCADWorker);
            _worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(MapAlignmentToRCADWorkerCompleted);
            _worker.RunWorkerAsync(args);
        }