public ObservableCollection <Tag> GetTags()
        {
            var tags = new ObservableCollection <Tag>();

            BCOM.ElementScanCriteria sc = (BCOM.ElementScanCriteria)_application.CreateObjectInMicroStation("MicroStationDGN.ElementScanCriteria");
            sc.ExcludeAllTypes();
            sc.IncludeType(BCOM.MsdElementType.msdElementTypeTag);

            BCOM.ElementEnumerator ee = _application.ActiveModelReference.Scan(sc);
            Array elements            = ee.BuildArrayFromContents();

            foreach (BCOM.Element element in elements)
            {
                BCOM.TagElement te = element as BCOM.TagElement;

                var tag = new Tag()
                {
                    TagSetName        = te.TagSetName,
                    TagDefinitionName = te.TagDefinitionName,
                    Value             = te.Value,
                    ID     = ToInt64(te.ID),
                    HostID = ToInt64(te.BaseElement != null ? te.BaseElement.ID : new BCOM.DLong())
                };
                tags.Add(tag);
            }

            ComUtilities.ReleaseComObject(sc);
            sc = null;

            return(tags);
        }
 public void ConnectApplication()
 {
     _connector             = ComUtilities.CreateObject <BCOM.ApplicationObjectConnector>("MicroStationDGN.ApplicationObjectConnector");
     _application           = _connector.Application;
     _application.Visible   = true;
     _isExternalApplication = false;
 }
        public void Dispose()
        {
            ComUtilities.ReleaseComObject(_worksheet);
            _worksheet = null;

            ComUtilities.ReleaseComObject(_workbook);
            _workbook = null;

            ComUtilities.ReleaseComObject(_application);
            _application = null;
        }
        public void Dispose()
        {
            ComUtilities.ReleaseComObject(_designFile);
            _designFile = null;

            if (_isExternalApplication == false)
            {
                ComUtilities.ReleaseComObject(_application);
                _application = null;
            }

            ComUtilities.ReleaseComObject(_connector);
            _connector = null;
        }
        public ObservableCollection <Text> GetTexts()
        {
            var texts = new ObservableCollection <Text>();

            BCOM.ElementScanCriteria sc = (BCOM.ElementScanCriteria)_application.CreateObjectInMicroStation("MicroStationDGN.ElementScanCriteria");
            sc.ExcludeAllTypes();
            sc.IncludeType(BCOM.MsdElementType.msdElementTypeText);
            sc.IncludeType(BCOM.MsdElementType.msdElementTypeTextNode);

            BCOM.ElementEnumerator ee = _application.ActiveModelReference.Scan(sc);
            Array elements            = ee.BuildArrayFromContents();

            foreach (BCOM.Element element in elements)
            {
                if (element is BCOM.TextElement)
                {
                    BCOM.TextElement te = element as BCOM.TextElement;

                    var text = new Text()
                    {
                        Value = te.Text,
                        ID    = ToInt64(te.ID),
                    };
                    texts.Add(text);
                }
                else if (element is BCOM.TextNodeElement)
                {
                    BCOM.TextNodeElement   tn = element as BCOM.TextNodeElement;
                    BCOM.ElementEnumerator en = tn.GetSubElements();
                    while (en.MoveNext())
                    {
                        BCOM.TextElement te = en.Current.AsTextElement;
                        var text            = new Text()
                        {
                            Value = te.Text,
                            ID    = ToInt64(te.ID),
                        };
                        texts.Add(text);
                    }
                }
            }

            ComUtilities.ReleaseComObject(sc);
            sc = null;

            return(texts);
        }
 public void CreateApplication()
 {
     _application           = ComUtilities.CreateObject <BCOM.Application>("MicroStationDGN.Application");
     _application.Visible   = true;
     _isExternalApplication = false;
 }
 public void CreateApplication()
 {
     _application         = ComUtilities.CreateObject <Excel.Application>("Excel.Application");
     _application.Visible = true;
     _application.ErrorCheckingOptions.NumberAsText = false;
 }