/TechEdWebApiDemo/Global.asax.cs
C# | 97 lines | 74 code | 17 blank | 6 comment | 3 complexity | 6ca2a44c5fe358fb8252ac86bd412cb8 MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Data.Entity;
- using System.Data.SqlClient;
- using System.IO;
- using System.Linq;
- using System.Web;
- using System.Web.Http;
- using System.Web.Mvc;
- using System.Web.Optimization;
- using System.Web.Routing;
- using TechEdWebApiDemo.App_Start;
- using TechEdWebApiDemo.DAL;
- namespace TechEdWebApiDemo
- {
- // Note: For instructions on enabling IIS6 or IIS7 classic mode,
- // visit http://go.microsoft.com/?LinkId=9394801
- public class WebApiApplication : System.Web.HttpApplication
- {
- protected void Application_Start()
- {
- AreaRegistration.RegisterAllAreas();
- WebApiConfig.Register(GlobalConfiguration.Configuration);
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
- RouteConfig.RegisterRoutes(RouteTable.Routes);
- BundleConfig.RegisterBundles(BundleTable.Bundles);
- // Register Database
- Database.SetInitializer(new TechEdInit());
- // Create LocalDB instance for database to be created in
- CreateDatabase("TechEd", Server.MapPath("~/App_Data/TechEd.mdf"));
- // Register Security
- SecurityConfig.ConfigureGlobal(GlobalConfiguration.Configuration);
- // Register Automapper
- AutoMapper.Mapper.CreateMap<Models.Member, TechEd.Integration.ServiceModels.Member>();
- AutoMapper.Mapper.CreateMap<TechEd.Integration.ServiceModels.Member, Models.Member>();
- }
- public bool CreateDatabase(string dbName, string dbFileName)
- {
- try
- {
- if (File.Exists(dbFileName))
- return true;
- string connectionString = String.Format(@"Data Source=(LocalDB)\v11.0;Initial Catalog=master;Integrated Security=True");
- using (var connection = new SqlConnection(connectionString))
- {
- connection.Open();
- SqlCommand cmd = connection.CreateCommand();
- DetachDatabase(dbName);
- cmd.CommandText = String.Format("CREATE DATABASE {0} ON (NAME = N'{0}', FILENAME = '{1}')", dbName, dbFileName);
- cmd.ExecuteNonQuery();
- }
- if (File.Exists(dbFileName)) return true;
- else return false;
- }
- catch
- {
- throw;
- }
- }
- public static bool DetachDatabase(string dbName)
- {
- try
- {
- string connectionString = String.Format(@"Data Source=(LocalDB)\v11.0;Initial Catalog=master;Integrated Security=True");
- using (var connection = new SqlConnection(connectionString))
- {
- connection.Open();
- SqlCommand cmd = connection.CreateCommand();
- cmd.CommandText = String.Format("exec sp_detach_db '{0}'", dbName);
- cmd.ExecuteNonQuery();
- return true;
- }
- }
- catch
- {
- return false;
- }
- }
- }
-
- }