protected void Application_Start()
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<ChatContext, Configuration>());
            using (var db = new ChatContext())
            {
                db.Database.Initialize(true);
            }

            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
 public object GetService(Type serviceType)
 {
     var context = new ChatContext();
     if (serviceType == typeof(PostsController))
     {
         var repository = new DbPostsRepository(context);
         return new PostsController(repository);
     }
     else if (serviceType == typeof(UsersController))
     {
         var repository = new DbUsersRepository(context);
         return new UsersController(repository);
     }
     else if (serviceType == typeof(ChatRoomsController))
     {
         var repository = new DbChatRoomsRepository(context);
         return new ChatRoomsController(repository);
     }
     else
     {
         return null;
     }
 }