예제 #1
0
        private void InitComputationItems(DataRow root)
        {
            DataRow folderRow = null;

            foreach (var node in GetTypeAttributes(_modelType, IsComputation).Select(CreateNode).Where(x => x != null))
            {
                if (folderRow == null)
                {
                    folderRow = AddRow(root, new FolderNode(UserMessages.FolderName_Computation));
                }
                AddRow(folderRow, node);
            }

            bool IsComputation(AttributeData attribute)
            {
                return(Compilation.GetTypeByMetadataName("DevZest.Data.Annotations.ComputationAttribute").Equals(attribute.AttributeClass));
            }

            Node CreateNode((INamedTypeSymbol, AttributeData) info)
            {
                return(AttributeNode.CreateComputation(this, info));
            }
        }