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); }
public static LabelContent FindLabel(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 var labelFiles = LabelHelper.GetLabelFiles(); var 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 label = labelController.Labels.Where(l => l.ID.Equals(labelContent.LabelId, StringComparison.InvariantCultureIgnoreCase)) .First(); //if (label != null) { labelContent.LabelDescription = label.Description; labelContent.LabelText = label.Text; } } return(labelContent); }