Beispiel #1
0
        private SitecoreService BuildSitecoreService(Type controllerType)
        {
            var controller = new TypeViewer(controllerType);

            var service = new SitecoreService
            {
                Name           = RemoveControllerSuffix(controllerType.FullName),
                Url            = GetRouteFromType(controllerType),
                Definition     = controller.ToJson(),
                CsrfProtection = controller.CheckForMitigations(ControllerType.WebAPI),
                Authorise      = controller.CheckForAuthorise(ControllerType.WebAPI)
            };

            var entityService = controllerType.GetGenericInterface(typeof(IEntityService <>));

            if (entityService != null)
            {
                var pocoObject = entityService.GetGenericArguments()[0];

                service.IsEntityService = true;
                service.Metadata        = GetMetadata(pocoObject);
            }

            return(service);
        }
Beispiel #2
0
        private static Controller BuildController(ControllerWrapper wrapper)
        {
            System.Diagnostics.Debug.Assert(wrapper.ControllerType.HasValue);

            var typeViewer = new TypeViewer(wrapper.Type);

            return(new Controller(
                       wrapper.Type.FullName,
                       wrapper.ControllerType.Value,
                       typeViewer.ToJson(),
                       typeViewer.CheckForMitigations(wrapper.ControllerType.Value),
                       typeViewer.CheckForAuthorise(wrapper.ControllerType.Value)));
        }