public Result Execute(ExternalCommandData commandData,
                              ref string message,
                              ElementSet elements)
        {
            Document _doc = commandData.Application.ActiveUIDocument.Document;

            PlunkOClass     plunkThis          = new PlunkOClass(commandData.Application);
            string          wsName             = "MECH HVAC";
            string          FamilyTagName      = "M_DEVICE_BAS_TAG_SYM";
            string          FamilyTagNameSymb  = "M-DATA-SENSOR";
            BuiltInCategory bicItemBeingTagged = BuiltInCategory.OST_DataDevices;
            BuiltInCategory bicTagBeing        = BuiltInCategory.OST_DataDeviceTags;
            bool            oneShot            = true;
            bool            hasLeader          = true;
            Element         elemTagged         = null;
            string          cmdPurpose         = "Change To Offset Data";
            Result          result;

            try {
                // first pass
                result = plunkThis.TwoPickTag(wsName, FamilyTagName, FamilyTagNameSymb,
                                              bicItemBeingTagged, bicTagBeing, hasLeader, oneShot, ref elemTagged, cmdPurpose);
                using (Transaction tp = new Transaction(_doc, "PlunkOMatic:SetParam")) {
                    tp.Start();
                    // try to uncheck the show sym yes/no is 1/0
                    Parameter parForVis = elemTagged.LookupParameter("SHOW SYM");
                    if (null != parForVis)
                    {
                        parForVis.Set(0);
                    }
                    tp.Commit();
                }
                // second pass
                if (elemTagged != null)
                {
                    FamilyTagName      = "M_EQIP_BAS_SENSOR_TAG";
                    FamilyTagNameSymb  = "TAG NUMBER ONLY";
                    bicTagBeing        = BuiltInCategory.OST_MechanicalEquipmentTags;
                    bicItemBeingTagged = BuiltInCategory.OST_MechanicalEquipment;
                    hasLeader          = false;
                    elemTagged         = null;
                    cmdPurpose         = "Sensor Data";
                    result             = plunkThis.TwoPickTag(wsName, FamilyTagName, FamilyTagNameSymb,
                                                              bicItemBeingTagged, bicTagBeing, hasLeader, oneShot, ref elemTagged, cmdPurpose);
                }
            } catch (Exception) {
                //throw;
            }
            return(Result.Succeeded);
        }
        public Result Execute(ExternalCommandData commandData,
                              ref string message,
                              ElementSet elements)
        {
            PlunkOClass     plunkThis          = new PlunkOClass(commandData.Application);
            string          wsName             = "MECH HVAC";
            string          FamilyTagName      = "T-COMM TAG - INSTANCE";
            string          FamilyTagSymbName  = "T-COMM INSTANCE";
            bool            hasLeader          = false;
            bool            oneShot            = false;
            BuiltInCategory bicItemBeingTagged = BuiltInCategory.OST_CommunicationDevices;
            BuiltInCategory bicTagBeing        = BuiltInCategory.OST_CommunicationDeviceTags;
            Element         elemTagged         = null;

            plunkThis.TwoPickTag(wsName, FamilyTagName, FamilyTagSymbName, bicItemBeingTagged, bicTagBeing, hasLeader, oneShot, ref elemTagged);

            return(Result.Succeeded);
        }
        public Result Execute(ExternalCommandData commandData,
                              ref string message,
                              ElementSet elements)
        {
            PlunkOClass     plunkThis          = new PlunkOClass(commandData.Application);
            string          wsName             = "MECH HVAC";
            string          FamilyTagName      = "M_EQIP_BAS_SENSOR_TAG";
            string          FamilyTagNameSymb  = "TAG NUMBER ONLY";
            bool            hasLeader          = false;
            bool            oneShot            = false;
            BuiltInCategory bicTagBeing        = BuiltInCategory.OST_MechanicalEquipmentTags;
            BuiltInCategory bicItemBeingTagged = BuiltInCategory.OST_MechanicalEquipment;
            Element         elemTagged         = null;
            string          cmdPurpose         = "Sensor Data";

            Result res = plunkThis.TwoPickTag(wsName, FamilyTagName, FamilyTagNameSymb,
                                              bicItemBeingTagged, bicTagBeing, hasLeader, oneShot, ref elemTagged, cmdPurpose);

            return(Result.Succeeded);
        }