public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            try
            {
#if !DEBUG
                Statistic.SendCommandStarting(new ModPlusConnector());
#endif

                _uiApplication   = commandData.Application;
                _currentDocument = _uiApplication.ActiveUIDocument.Document;

                _deleteElementEvent      = new DeleteElementEvent();
                _removeEvents            = new RemoveEvents();
                _changeViewEvent         = new ChangeViewEvent();
                _deleteManyElementsEvent = new DeleteManyElementsEvent();

                SearchImportsAndBind(false);

                return(Result.Succeeded);
            }
            catch (OperationCanceledException)
            {
                return(Result.Cancelled);
            }
            catch (Exception exception)
            {
                message = exception.Message;
                return(Result.Failed);
            }
        }
 public DWGImportManagerVM(
     UIApplication uiApplication,
     List <Element> elements,
     DeleteElementEvent deleteElementEvent,
     ChangeViewEvent changeViewEvent,
     DeleteManyElementsEvent deleteManyElementsEvent)
 {
     _deleteElementEvent                = deleteElementEvent;
     _changeViewEvent                   = changeViewEvent;
     _deleteManyElementsEvent           = deleteManyElementsEvent;
     _uiApplication                     = uiApplication;
     DwgImportsItems                    = new ObservableCollection <DwgImportsItem>();
     DwgImportsItems.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(SelectedItemsCount));
     FillDwgImportsItems(elements);
 }