bool InternalApplyTo(Model model)
        {
            var key = model.ControllerType;
            var hasExplicitConventions = ControllerConventionBuilders.TryGetValue(key, out var builder);
            var applied = hasExplicitConventions;

            if (!hasExplicitConventions)
            {
                var hasNoExplicitConventions = ControllerConventions.Count == 0;

                if (hasNoExplicitConventions && !(applied = HasDecoratedActions(model)))
                {
                    return(false);
                }

                builder = new ControllerApiVersionConventionBuilder(model.ControllerType);
            }

            foreach (var convention in ControllerConventions)
            {
                applied |= convention.Apply(builder !, model);
            }

            if (applied)
            {
                builder !.ApplyTo(model);
            }

            return(applied);
        }
 public System.Web.Http.Controllers.IHttpController Create(System.Net.Http.HttpRequestMessage request,
                                                           System.Web.Http.Controllers.HttpControllerDescriptor controllerDescriptor, Type controllerType)
 {
     return(ObjectFactory.Container.GetInstance(controllerType) as IHttpController);
 }
Ejemplo n.º 3
0
 public System.Web.Http.Controllers.IHttpController Create(System.Net.Http.HttpRequestMessage request, System.Web.Http.Controllers.HttpControllerDescriptor controllerDescriptor, Type controllerType)
 {
     try
     {
         return(StructureMap.ObjectFactory.GetInstance(controllerType) as IHttpController);
     }
     catch (Exception)
     {
         throw new Exception(ObjectFactory.WhatDoIHave());
     }
 }