vgquotes/Src/VideoGameQuotes.Web/Global.asax.cs

60 lines
2.5 KiB
C#
Raw Normal View History

2011-02-10 04:39:59 +00:00
using System.Web.Mvc;
2011-02-09 03:50:45 +00:00
using System.Web.Routing;
2011-02-10 04:39:59 +00:00
using Microsoft.Practices.Unity;
using Portoa.Web;
using Portoa.Web.Models;
2011-02-10 04:39:59 +00:00
using Portoa.Web.Unity;
using UnityGenerics;
2011-02-10 04:39:59 +00:00
using VideoGameQuotes.Api;
using VideoGameQuotes.Api.Persistence;
using VideoGameQuotes.Web.Controllers;
using VideoGameQuotes.Web.Models;
2011-02-10 04:39:59 +00:00
using VideoGameQuotes.Web.Security;
using VideoGameQuotes.Web.Services;
2011-02-09 03:50:45 +00:00
namespace VideoGameQuotes.Web {
public class MvcApplication : MvcApplicationBase {
protected override void ConfigureModelBinders(ModelBinderDictionary binders) {
binders
.Add<Region, FlagEnumModelBinder>()
.Add<BrowseModel, BrowseModelBinder>()
.Add<ApiModel, ApiModelBinder>();
}
2011-02-10 04:39:59 +00:00
protected override void ConfigureUnity() {
Container
.AddNewExtension<ConfigureLog4Net>()
.Configure<ILog4NetConfigurator>()
.SetName("VideoGameQuotes.Web")
.UseXml();
2011-02-10 04:39:59 +00:00
Container
.AddNewExtension<LogAllMethodCalls>()
.RegisterType<ICurrentUserProvider, SessionBasedUserProvider>()
.RegisterType<IsValidUserAttribute>(new InjectionProperty<IsValidUserAttribute>(attr => attr.UserProvider))
2011-02-10 04:39:59 +00:00
.RegisterType<IUserService, UserService>()
.RegisterType<IQuoteService, QuoteService>()
.RegisterType<IApiService, ApiService>()
2011-02-10 04:39:59 +00:00
.RegisterType<IUserRepository, UserRepository>();
}
2011-02-09 03:50:45 +00:00
2011-02-10 04:39:59 +00:00
protected override void RegisterRoutes(RouteCollection routes) {
2011-02-09 03:50:45 +00:00
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
2011-02-10 04:39:59 +00:00
routes.IgnoreRoute("media/{*anything}");
2011-02-09 03:50:45 +00:00
routes.MapRoute("api", "api/{action}/{id}/{*criteria}", new { controller = "Api" }, new { action = "game", id = @"\d+|all" });
2011-02-14 19:19:15 +00:00
routes.MapRoute("home", "{action}", new { controller = "Home", action = "Index" }, new { action = "about|contact" });
2011-02-14 19:48:36 +00:00
routes.MapRoute("best", "best/{start}-{end}/", new { controller = "Quote", action = "Best" }, new { start = @"\d+", end = @"\d+" });
routes.MapRoute("browse", "browse/{*qualifiers}", new { controller = "Quote", action = "Browse" });
routes.MapRoute("quote", "{action}", new { controller = "Quote" }, new { action = "submit|search|recent|random|best|vote|report" });
routes.MapRoute("individual-quote", "quote/{id}/{*text}", new { controller = "Quote", action = "Quote" }, new { id = @"\d+" });
2011-02-14 19:19:15 +00:00
routes.MapRoute("create-category", "category/create", new { controller = "Quote", action = "CreateCategory" });
2011-02-11 05:21:31 +00:00
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
2011-02-09 03:50:45 +00:00
}
}
}