public override int CompareTo(HierarchicalNode treeItem) { ProjectNode projectNode = treeItem as ProjectNode; if (projectNode == null) { return(0); } return(AlphabeticThenNumericComparer.Compare(this.DisplayName, projectNode.DisplayName, CultureInfo.CurrentCulture)); }
public override int CompareTo(HierarchicalNode treeItem) { ProjectItemNode projectItemNode = treeItem as ProjectItemNode; if (projectItemNode == null) { return(-1); } if (this.ProjectItem is FolderStandIn) { return(-1); } if (projectItemNode.ProjectItem is FolderStandIn) { return(1); } IDocumentType item = base.Services.DocumentTypeManager().DocumentTypes[DocumentTypeNamesHelper.Folder]; if (this.ProjectItem.DocumentType == item) { if (projectItemNode.ProjectItem.DocumentType != item) { return(-1); } return(AlphabeticThenNumericComparer.Compare(this.DisplayName, projectItemNode.DisplayName, CultureInfo.CurrentCulture)); } if (projectItemNode.ProjectItem.DocumentType == item) { return(1); } try { if (Microsoft.Expression.Framework.Documents.PathHelper.GetSafeExtension(this.FullPath) == Microsoft.Expression.Framework.Documents.PathHelper.GetSafeExtension(projectItemNode.FullPath)) { int num = AlphabeticThenNumericComparer.Compare(Path.GetFileNameWithoutExtension(this.FullPath), Path.GetFileNameWithoutExtension(projectItemNode.FullPath), CultureInfo.CurrentCulture); return(num); } } catch (ArgumentException argumentException) { } return(ProjectPathHelper.CompareForDisplay(this.DisplayName, projectItemNode.DisplayName, CultureInfo.CurrentCulture)); }