コード例 #1
0
        private IEnumerable <IDesignModel> GetAllDesignModels()
        {
            if (_allDesignModels == null)
            {
                _allDesignModels = DesignModelCollection.GetAllDesignModels().ToList();
            }

            return(_allDesignModels);
        }
コード例 #2
0
        private IEnumerable <IOutputConfiguration> GetOutputConfigurations(ProjectLayoutEntry entry)
        {
            if (entry.LocationFilters == null)
            {
                yield return(DesignModelCollection.RootNamespace.OutputConfiguration);
            }

            foreach (var locationFilter in entry.LocationFilters)
            {
                if (locationFilter.NamespaceFilter != null)
                {
                    foreach (var ns in DesignModelCollection.GetAllNamespaces())
                    {
                        if (locationFilter.NamespaceFilter.Match(ns.Name) == Filter.MatchStatus.Included)
                        {
                            yield return(ns.OutputConfiguration);
                        }
                    }
                }
                else
                {
                    foreach (var designModel in GetAllDesignModels())
                    {
                        if (locationFilter.DesignModelTypeFilter != null)
                        {
                            if (locationFilter.DesignModelTypeFilter.Match(designModel.DesignModelType) == Filter.MatchStatus.Included)
                            {
                                yield return(designModel.OutputConfiguration);
                            }
                        }
                        else if (designModel.FullyQualifiedName != null)
                        {
                            if (locationFilter.DesignModelNameFilter.Match(designModel.FullyQualifiedName) == Filter.MatchStatus.Included)
                            {
                                yield return(designModel.OutputConfiguration);
                            }
                        }
                    }
                }
            }
        }