private IReflectedClass GetControllerReflectedClass(IEnumerable <Type> controllerTypes, string typeName)
        {
            var controllerNames = controllerTypes.Select(x => x.Name).ToList();
            var controllerName  = _namingConventionManager.FindControllerName(controllerNames, typeName);

            if (controllerName != null)
            {
                var controllerType = controllerTypes.Single(x => x.Name == controllerName);
                return(_reflectedLibraryManager.GetReflectedClass(controllerType));
            }
            return(null);
        }
        public void Process(ApplicationMetadataSummary applicationMetadataSummary)
        {
            var controllers     = applicationMetadataSummary.ApplicationControllers.ToList();
            var controllerNames = controllers.Select(x => x.Name).ToList();

            foreach (var applicationEntity in applicationMetadataSummary.ApplicationEntities)
            {
                var typeName       = applicationEntity.EntityType.Name;
                var controllerName = _namingConventionManager.FindControllerName(controllerNames, typeName);
                if (controllerName != null)
                {
                    var controller = controllers.Single(x => x.Name == controllerName);
                    applicationEntity.ApplicationControllerMetadata = controller;
                }
            }
        }