Beispiel #1
0
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            
            IDictionary<string, object> values = filterContext.RouteData.Values;

            string cultureName = null;
            CultureHelper.SetCulture(values, ref cultureName);

            filterContext.Controller.ViewBag.CurrentCulture = cultureName;

            UnityServiceLocator serviceLocator = new UnityServiceLocator(UnityConfig.GetConfiguredContainer());
            ICultureService cultureService = serviceLocator.GetInstance<ICultureService>();

            filterContext.Controller.ViewBag.Cultures = cultureService.GetList();

            serviceLocator = new UnityServiceLocator(UnityConfig.GetConfiguredContainer());
            JsResourceHelper jsResourceHelper = serviceLocator.GetInstance<JsResourceHelper>();
            jsResourceHelper.Set();
        }
Beispiel #2
0
        public static void RegisterRoutes(RouteCollection routes, ICultureService cultureService)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            IReadOnlyList <string> cultures = cultureService.GetList();

            routes.MapRoute(
                name: "Lang",
                url: "{lang}/{controller}/{action}/{id}",
                defaults: new { controller = "AngularTemplate", action = "Index", id = UrlParameter.Optional },
                constraints: new { lang = String.Join("|", cultures) }
                );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "AngularTemplate", action = "Index", id = UrlParameter.Optional, lang = cultures[0] }
                );
        }
Beispiel #3
0
        // Web API configuration and services
        public static void Register(HttpConfiguration config)
        {
            //Unity configuration for Web API controllers
            var container = UnityConfig.GetConfiguredContainer();

            config.DependencyResolver = new UnityResolver(container);

            UnityServiceLocator    serviceLocator = new UnityServiceLocator(container);
            ICultureService        cultureService = serviceLocator.GetInstance <ICultureService>();
            IReadOnlyList <string> cultures       = cultureService.GetList();

            // Web API routes
            config.MapHttpAttributeRoutes();


            config.Routes.MapHttpRoute(
                name: "LangApi",
                routeTemplate: "api/{lang}/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { lang = String.Join("|", cultures) }
                );

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional, lang = cultures[0] }
                );

            config.Routes.MapHttpRoute(
                name: "UploadFileApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");

            config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
        }