Beispiel #1
0
        /// <summary>
        /// Initializer for BrickPile
        /// </summary>
        public static void Start()
        {
            //Insure that Structuremap would inject dependecies for any ASP.NET controller created
            var container = Bootstrapper.Initialize();

            DependencyResolver.SetResolver(new StructureMapDependencyResolver(container));

            RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            RouteTable.Routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

            ControllerBuilder.Current.SetControllerFactory(typeof(BrickPileControllerFactory));

            // Register the default page route
            RouteTable.Routes.Add("Default_Pages", new PageRoute(
                                      "{*path}",
                                      new RouteValueDictionary(
                                          new
            {
                controller = "pages",
                action     = "index"
            }),
                                      new MvcRouteHandler()));

            var binderProvider = new InheritanceAwareModelBinderProvider
            {
                { typeof(IPageModel), new PageModelBinder() }
            };

            ModelBinderProviders.BinderProviders.Add(binderProvider);
        }
        /// <summary>
        /// Initializer for BrickPile
        /// </summary>
        public static void Start()
        {
            //Insure that Raven is setup
            var documentStore = RavenConfig.InitializeRaven();
            //Insure that Structuremap would inject dependecies for any ASP.NET controller created
            var container = StructureMapConfig.InitializeStructureMap(documentStore);

            DependencyResolver.SetResolver(new StructureMapDependencyResolver(container));

            RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            RouteTable.Routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
            RouteTable.Routes.IgnoreRoute("static/{*pathInfo}");

            ControllerBuilder.Current.SetControllerFactory(typeof(BrickPileControllerFactory));

            // Register the default page route
            RouteTable.Routes.Add("Default_Pages", new PageRoute(
                                      "{*path}",
                                      new RouteValueDictionary(
                                          new
                                          {
                                              controller = "pages",
                                              action = "index"
                                          }),
                                      new MvcRouteHandler()));

            var binderProvider = new InheritanceAwareModelBinderProvider
            {
                {typeof (IContent), new ContentModelBinder()}
            };

            ModelBinderProviders.BinderProviders.Add(binderProvider);
        }
Beispiel #3
0
        protected void Application_Start()
        {
            DefaultModelBinder.ResourceClassKey = "Messages";
            ValidationExtensions.ResourceClassKey = "Messages";
            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
            // Remove the item that validates fields are numeric!
            ModelValidatorProviders.Providers.Remove(ModelValidatorProviders.Providers.FirstOrDefault(prov => prov.GetType() == typeof(ClientDataTypeModelValidatorProvider)));
            // Add our own of the above with a custom message!
            ModelValidatorProviders.Providers.Add(new CustomDataTypeModelValidatorProvider());
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequeridoAttribute), typeof(RequiredAttributeAdapter));
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RangoAttribute), typeof(RangeAttributeAdapter));
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RegularExpressionAttribute), typeof(RegularExpressionAttributeAdapter));
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(LargoCadenaAttribute), typeof(StringLengthAttributeAdapter));
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(LargoCadenaPorDefectoAttribute), typeof(StringLengthAttributeAdapter));
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(CorreoAttribute), typeof(EmailAttributeAdapter));

            var binderProvider = new InheritanceAwareModelBinderProvider
                            {
                                { typeof(ICustomBindeableProperties), new CustomBindeablePropertiesModelBinder() },
                                { typeof(DateTime), new DateTimeCurrentCultureModelBinder() },
                                { typeof(DateTime?), new DateTimeCurrentCultureModelBinder() },
                                { typeof(SearchFiltersViewModel), new SearchFiltersModelBinder()}
                            };

            ModelBinderProviders.BinderProviders.Add(binderProvider);

            RegisterGlobalFilters(GlobalFilters.Filters);

            _container = new WindsorContainer();
            _container.AddFacility<TypedFactoryFacility>();
            _container.Install(FromAssembly.This());

            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(_container));

            DataAnnotationsModelValidatorProviderExtensions.RegisterValidationExtensions();

            _logger = ServiceLocator.Current.GetInstance<ILogger>();
            ServiceLocator.Current.GetInstance<IApplicationInstaller>().Install(
                NHibernateFacility.BuildDatabaseConfiguration());
            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(_container.Kernel));
            FilterProviders.Providers.Add(new WindsorFilterAttributeFilterProvider(_container));

            //Automapper
            AutoMapperConfiguration.Configure();

            //MetadataProvider
            ModelMetadataProviders.Current = new EnhancedModelMetadataProvider();

            //Cargar la clinica
            CargarClinica();

            RegisterRoutes(RouteTable.Routes);
        }