Пример #1
0
        public static LabelContent FindLabelGlobally_OLD(string labelIdText)
        {
            //string labelId = String.Empty;
            LabelContent labelContent = new LabelContent()
            {
                LabelIdForProperty = labelIdText
            };

            if (labelIdText.StartsWith("@") == false)
            {
                return(labelContent);
            }

            //var labelFileId
            labelContent.LabelFileId = LabelHelper.GetLabelFileId(labelIdText);
            labelContent.LabelId     = labelContent.LabelIdForProperty.Substring(labelContent.LabelIdForProperty.IndexOf(":") + 1);

            // Get the label factory
            LabelControllerFactory factory = new LabelControllerFactory();

            // Get the label edit controller
            AxLabelFile labelFile = null;

            if (String.IsNullOrEmpty(labelContent.LabelFileId) == false)
            {
                // Issue with finding label file (as it seems its searching for the label file in the current model)
                labelFile = Common.CommonUtil.GetModelSaveService().GetLabelFile(labelContent.LabelFileId);
                if (labelFile == null)
                {
                    var fileName = Common.CommonUtil.GetModelSaveService().GetLabelFileNames()
                                   .Where(l => l.StartsWith(labelContent.LabelFileId) && l.Contains("en-")).FirstOrDefault();
                    labelFile = Common.CommonUtil.GetModelSaveService().GetLabelFile(fileName);
                }
            }
            else
            {
                var labelFiles = LabelHelper.GetLabelFiles();

                labelFile = labelFiles
                            .Where(l => l.LabelFileId.Equals(labelContent.LabelFileId, StringComparison.InvariantCultureIgnoreCase))
                            .First();
            }
            if (labelFile != null)
            {
                LabelEditorController labelController = factory.GetOrCreateLabelController(labelFile, Common.CommonUtil.GetVSApplicationContext());
                labelController.LabelSearchOption = SearchOption.MatchExactly;
                labelController.IsMatchExactly    = true;

                var test  = labelController.Labels.ToList();
                var label = labelController.Labels.Where(l => l.ID.Equals(labelContent.LabelId, StringComparison.InvariantCultureIgnoreCase))
                            .FirstOrDefault();
                if (label != null)
                {
                    labelContent.LabelDescription = label.Description;
                    labelContent.LabelText        = label.Text;
                }
            }
            return(labelContent);
        }
Пример #2
0
        private static void CreateLabel(AxLabelFile labelFile, string labelId, string labelText)
        {
            // Get the label factory
            LabelControllerFactory factory = new LabelControllerFactory();

            LabelEditorController labelControllerToAdd = factory.GetOrCreateLabelController(labelFile, Common.CommonUtil.GetVSApplicationContext());

            labelControllerToAdd.Insert(labelId, labelText, null);
            labelControllerToAdd.Save();
        }
Пример #3
0
 /// <summary>
 /// Set the model info and retreive it's label file.
 /// </summary>
 /// <param name="modelInfo">Instance of <c>ModelInfoCollection</c> to retreive label file for</param>
 public void setModelAndLabelFile(ModelInfoCollection modelInfo, AxLabelFile labelFile = null)
 {
     modelInfoCollection = modelInfo;
     if (labelFile == null)
     {
         currentLabelFile = this.GetLabelFile();
     }
     else
     {
         currentLabelFile = labelFile;
     }
 }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="metaModelProviders">Instance of <c>IMetaModelProvider</c></param>
        /// <param name="metaModelService">Instance of <c>IMetaModelService</c></param>
        /// <param name="modelInfoCollection">Instance of <c>ModelInfoCollection</c></param>
        /// <returns>Instance of <c>AXLabelFile</c></returns>
        public AxLabelFile GetLabelFile()
        {
            // Choose the first model in the collection
            ModelInfo modelInfo = ((System.Collections.ObjectModel.Collection <ModelInfo>)modelInfoCollection)[0];

            // Construct a ModelLoadInfo
            ModelLoadInfo modelLoadInfo = new ModelLoadInfo
            {
                Id    = modelInfo.Id,
                Layer = modelInfo.Layer,
            };

            // Get the list of label files from that model
            IList <String> labelFileNames = metaModelProvider.CurrentMetadataProvider.LabelFiles.ListObjectsForModel(modelInfo.Name);

            // Choose the first
            // What happens if there is no label file?
            AxLabelFile labelFile = MetaModelService.GetLabelFile(labelFileNames[0], modelLoadInfo);

            return(labelFile);
        }