Commits

Steve Michelotti  committed 9415d3b

initial check in

  • Participants

Comments (0)

Files changed (323)

File src/Working/BasketballPlaybook/BasketballPlaybook.Tests/App.config

+<?xml version="1.0" encoding="utf-8" ?>
+<!-- 
+    Note: Add entries to the App.config file for configuration settings
+    that apply only to the Test project.
+-->
+<configuration>
+    <appSettings>
+
+    </appSettings>
+
+    <connectionStrings>
+
+    </connectionStrings>
+</configuration>

File src/Working/BasketballPlaybook/BasketballPlaybook.Tests/BasketballPlaybook.Tests.csproj

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>
+    </ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>BasketballPlaybook.Tests</RootNamespace>
+    <AssemblyName>BasketballPlaybook.Tests</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+    <Reference Include="System" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.Web.Extensions" />
+    <Reference Include="System.Web.Abstractions" />
+    <Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="System.Web.Routing" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Controllers\HomeControllerTest.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\BasketballPlaybook\BasketballPlaybook.csproj">
+      <Project>{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}</Project>
+      <Name>BasketballPlaybook</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

File src/Working/BasketballPlaybook/BasketballPlaybook.Tests/Controllers/HomeControllerTest.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Web.Mvc;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using BasketballPlaybook;
+using BasketballPlaybook.Controllers;
+
+namespace BasketballPlaybook.Tests.Controllers
+{
+    [TestClass]
+    public class HomeControllerTest
+    {
+        [TestMethod]
+        public void Index()
+        {
+            // Arrange
+            HomeController controller = new HomeController();
+
+            // Act
+            ViewResult result = controller.Index() as ViewResult;
+
+            // Assert
+            Assert.AreEqual("Welcome to ASP.NET MVC!", result.ViewBag.Message);
+        }
+
+        [TestMethod]
+        public void About()
+        {
+            // Arrange
+            HomeController controller = new HomeController();
+
+            // Act
+            ViewResult result = controller.About() as ViewResult;
+
+            // Assert
+            Assert.IsNotNull(result);
+        }
+    }
+}

File src/Working/BasketballPlaybook/BasketballPlaybook.Tests/Properties/AssemblyInfo.cs

+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("BasketballPlaybook.Tests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("BasketballPlaybook.Tests")]
+[assembly: AssemblyCopyright("Copyright ©  2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("1952f265-da1c-43a1-bb3a-867206eb2654")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

File src/Working/BasketballPlaybook/BasketballPlaybook.sln

+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasketballPlaybook", "BasketballPlaybook\BasketballPlaybook.csproj", "{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasketballPlaybook.Tests", "BasketballPlaybook.Tests\BasketballPlaybook.Tests.csproj", "{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D7D50120-1FFC-425C-AC8A-4E9482FFA0A6}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

File src/Working/BasketballPlaybook/BasketballPlaybook.sln.docstates.suo

Binary file added.

File src/Working/BasketballPlaybook/BasketballPlaybook.suo

Binary file added.

File src/Working/BasketballPlaybook/BasketballPlaybook/Api/DrillsApi.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.ServiceModel;
+using System.ServiceModel.Web;
+using Microsoft.ApplicationServer.Http;
+using Microsoft.ApplicationServer.Http.Dispatcher;
+using BasketballPlaybook.Models;
+
+namespace BasketballPlaybook
+{ 
+	[ServiceContract]
+    public class DrillsApi
+    {
+		private readonly IDrillRepository drillRepository;
+
+		public DrillsApi (IDrillRepository drillRepository) 
+		{
+			this.drillRepository = drillRepository;
+		}
+
+        [WebGet(UriTemplate = "?tagId={tagId}")]
+        public HttpResponseMessage<List<Drill>> GetByTag(int tagId)
+        {
+            var list = this.drillRepository.All.Where(d => d.TagId == tagId).ToList();
+            var response = new HttpResponseMessage<List<Drill>>(list);
+            return response;
+        }
+
+        [WebGet(UriTemplate = "{id}")]
+        public HttpResponseMessage<Drill> Get(int id)
+        {
+			var item = this.drillRepository.Find(id);
+			if (item == null)
+			{
+                var notFoundResponse = new HttpResponseMessage();
+                notFoundResponse.StatusCode = HttpStatusCode.NotFound;
+                notFoundResponse.Content = new StringContent("Item not found");
+                throw new HttpResponseException(notFoundResponse);
+            }
+            var response = new HttpResponseMessage<Drill>(item);
+
+            // set it to expire in 5 minutes
+            response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(30));
+            return response;
+        }
+
+        [WebInvoke(UriTemplate = "", Method = "POST")]
+        public HttpResponseMessage<Drill> Post(Drill item)
+        {
+			this.drillRepository.InsertOrUpdate(item);
+            this.drillRepository.Save();
+
+            var response = new HttpResponseMessage<Drill>(item);
+            response.StatusCode = HttpStatusCode.Created;
+            response.Headers.Location = new Uri("drills/" + item.Id, UriKind.Relative);
+            return response;
+        }
+
+        [WebInvoke(UriTemplate = "{id}", Method = "PUT")]
+        public Drill Put(int id, Drill item)
+        {
+			this.drillRepository.InsertOrUpdate(item);
+            this.drillRepository.Save();
+            return item;
+        }
+
+        [WebInvoke(UriTemplate = "{id}", Method = "DELETE")]
+        public HttpResponseMessage Delete(int id)
+        {
+			this.drillRepository.Delete(id);
+            this.drillRepository.Save();
+            return new HttpResponseMessage(HttpStatusCode.NoContent);
+        }
+ 
+	}
+}
+

File src/Working/BasketballPlaybook/BasketballPlaybook/Api/TagsApi.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.ServiceModel;
+using System.ServiceModel.Web;
+using Microsoft.ApplicationServer.Http;
+using Microsoft.ApplicationServer.Http.Dispatcher;
+using BasketballPlaybook.Models;
+//using BasketballPlaybook.Resources;
+
+namespace BasketballPlaybook
+{ 
+	[ServiceContract]
+    public class TagsApi
+    {
+		private readonly ITagRepository tagRepository;
+
+
+		public TagsApi (ITagRepository tagRepository) 
+		{
+			this.tagRepository = tagRepository;
+		}
+
+        [WebGet]
+        public HttpResponseMessage<List<Tag>> GetAll()
+        {
+            var list = this.tagRepository.All.ToList();
+            var response = new HttpResponseMessage<List<Tag>>(list);
+            return response;
+        }
+
+        [WebGet(UriTemplate = "{id}")]
+        public HttpResponseMessage<Tag> Get(int id)
+        {
+			var item = this.tagRepository.Find(id);
+			if (item == null)
+			{
+                var notFoundResponse = new HttpResponseMessage();
+                notFoundResponse.StatusCode = HttpStatusCode.NotFound;
+                notFoundResponse.Content = new StringContent("Item not found");
+                throw new HttpResponseException(notFoundResponse);
+            }
+            var response = new HttpResponseMessage<Tag>(item);
+
+            // set it to expire in 5 minutes
+            response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(30));
+            return response;
+        }
+
+        [WebInvoke(UriTemplate = "", Method = "POST")]
+        public HttpResponseMessage<Tag> Post(Tag item)
+        {
+			this.tagRepository.InsertOrUpdate(item);
+            this.tagRepository.Save();
+
+            var response = new HttpResponseMessage<Tag>(item);
+            response.StatusCode = HttpStatusCode.Created;
+            response.Headers.Location = new Uri("tags/" + item.Id, UriKind.Relative);
+            return response;
+        }
+
+        [WebInvoke(UriTemplate = "{id}", Method = "PUT")]
+        public Tag Put(int id, Tag item)
+        {
+			this.tagRepository.InsertOrUpdate(item);
+            this.tagRepository.Save();
+            return item;
+        }
+
+        [WebInvoke(UriTemplate = "{id}", Method = "DELETE")]
+        public HttpResponseMessage Delete(int id)
+        {
+			this.tagRepository.Delete(id);
+            this.tagRepository.Save();
+            return new HttpResponseMessage(HttpStatusCode.NoContent);
+        }
+ 
+	}
+}
+

File src/Working/BasketballPlaybook/BasketballPlaybook/App_Data/BasketballPlaybook.Models.PlaybookDbContext.sdf

Binary file added.

File src/Working/BasketballPlaybook/BasketballPlaybook/App_Start/DrillsApiStart.cs

+using System;
+using System.Web.Routing;
+using Microsoft.ApplicationServer.Http;
+using Microsoft.ApplicationServer.Http.Activation;
+using Microsoft.ApplicationServer.Http.Description;
+using BasketballPlaybook.DependencyResolution;
+
+[assembly: WebActivator.PreApplicationStartMethod(typeof(BasketballPlaybook.App_Start.DrillsApiStart), "Start")]
+
+namespace BasketballPlaybook.App_Start {
+    public static class DrillsApiStart {
+        public static void Start() {
+			var iocContainer = IoC.Initialize();
+            var config = new WebApiConfiguration();
+            config.CreateInstance = (type, instance, message) => { return iocContainer.GetInstance(type); };
+            config.EnableTestClient = true;
+            RouteTable.Routes.SetDefaultHttpConfiguration(config);
+            RouteTable.Routes.MapServiceRoute<DrillsApi>("drills");
+        }
+    }
+}

File src/Working/BasketballPlaybook/BasketballPlaybook/App_Start/EntityFramework.SqlServerCompact.cs

+using System.Data.Entity;
+using System.Data.Entity.Infrastructure;
+
+[assembly: WebActivator.PreApplicationStartMethod(typeof(BasketballPlaybook.App_Start.EntityFramework_SqlServerCompact), "Start")]
+
+namespace BasketballPlaybook.App_Start {
+    public static class EntityFramework_SqlServerCompact {
+        public static void Start() {
+            Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
+        }
+    }
+}

File src/Working/BasketballPlaybook/BasketballPlaybook/App_Start/TagsApiStart.cs

+using System;
+using System.Web.Routing;
+using Microsoft.ApplicationServer.Http;
+using Microsoft.ApplicationServer.Http.Activation;
+using Microsoft.ApplicationServer.Http.Description;
+using BasketballPlaybook.DependencyResolution;
+
+[assembly: WebActivator.PreApplicationStartMethod(typeof(BasketballPlaybook.App_Start.TagsApiStart), "Start")]
+
+namespace BasketballPlaybook.App_Start {
+    public static class TagsApiStart {
+        public static void Start() {
+			var iocContainer = IoC.Initialize();
+            var config = new WebApiConfiguration();
+            config.CreateInstance = (type, instance, message) => { return iocContainer.GetInstance(type); };
+            config.EnableTestClient = true;
+            RouteTable.Routes.SetDefaultHttpConfiguration(config);
+            RouteTable.Routes.MapServiceRoute<TagsApi>("tags");
+        }
+    }
+}

File src/Working/BasketballPlaybook/BasketballPlaybook/BasketballPlaybook.csproj

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>
+    </ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B04D61A0-0B9A-4A82-8C49-CC616A7ADE91}</ProjectGuid>
+    <ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>BasketballPlaybook</RootNamespace>
+    <AssemblyName>BasketballPlaybook</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MvcBuildViews>false</MvcBuildViews>
+    <UseIISExpress>false</UseIISExpress>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="EntityFramework">
+      <HintPath>..\packages\EntityFramework.4.1.10715.0\lib\EntityFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.ApplicationServer.Http">
+      <HintPath>..\packages\WebApi.0.5.0\lib\40-Full\Microsoft.ApplicationServer.Http.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.ApplicationServer.HttpEnhancements">
+      <HintPath>..\packages\WebApi.Enhancements.0.5.0\lib\40-Full\Microsoft.ApplicationServer.HttpEnhancements.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="Microsoft.Json">
+      <HintPath>..\packages\JsonValue.0.5.0\lib\40\Microsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Net.Http">
+      <HintPath>..\packages\HttpClient.0.5.0\lib\40\Microsoft.Net.Http.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Net.Http.Formatting">
+      <HintPath>..\packages\HttpClient.0.5.0\lib\40\Microsoft.Net.Http.Formatting.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Runtime.Serialization.Internal">
+      <HintPath>..\packages\WebApi.0.5.0\lib\40-Full\Microsoft.Runtime.Serialization.Internal.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Server.Common">
+      <HintPath>..\packages\WebApi.0.5.0\lib\40-Full\Microsoft.Server.Common.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.ServiceModel.Internal">
+      <HintPath>..\packages\WebApi.0.5.0\lib\40-Full\Microsoft.ServiceModel.Internal.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <Private>True</Private>
+      <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
+    </Reference>
+    <Reference Include="StructureMap">
+      <HintPath>..\packages\structuremap.2.6.3\lib\StructureMap.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.Entity" />
+    <Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
+      <Private>True</Private>
+      <HintPath>..\packages\SqlServerCompact.4.0.8482.1\lib\System.Data.SqlServerCe.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
+      <Private>True</Private>
+      <HintPath>..\packages\EntityFramework.SqlServerCompact.4.1.8482.2\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel" />
+    <Reference Include="System.ServiceModel.Activation" />
+    <Reference Include="System.ServiceModel.Web" />
+    <Reference Include="System.Transactions" />
+    <Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web.DynamicData" />
+    <Reference Include="System.Web.Entity" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Extensions" />
+    <Reference Include="System.Web.Abstractions" />
+    <Reference Include="System.Web.Routing" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.EnterpriseServices" />
+    <Reference Include="WebActivator">
+      <HintPath>..\packages\WebActivator.1.5\lib\net40\WebActivator.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Api\DrillsApi.cs" />
+    <Compile Include="Api\TagsApi.cs" />
+    <Compile Include="App_Start\DrillsApiStart.cs" />
+    <Compile Include="App_Start\EntityFramework.SqlServerCompact.cs" />
+    <Compile Include="App_Start\TagsApiStart.cs" />
+    <Compile Include="Controllers\AccountController.cs" />
+    <Compile Include="Controllers\HomeController.cs" />
+    <Compile Include="DependencyResolution\IoC.cs" />
+    <Compile Include="Global.asax.cs">
+      <DependentUpon>Global.asax</DependentUpon>
+    </Compile>
+    <Compile Include="Models\AccountModels.cs" />
+    <Compile Include="Models\Drill.cs" />
+    <Compile Include="Models\DrillRepository.cs" />
+    <Compile Include="Models\PlaybookDbContext.cs" />
+    <Compile Include="Models\PlaybookDbInitializer.cs" />
+    <Compile Include="Models\Tag.cs" />
+    <Compile Include="Models\TagRepository.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="App_Data\BasketballPlaybook.Models.PlaybookDbContext.sdf" />
+    <Content Include="Content\images\button.gif" />
+    <Content Include="Content\images\del.gif" />
+    <Content Include="Content\images\edit.gif" />
+    <Content Include="Content\images\footer.gif" />
+    <Content Include="Content\images\header.gif" />
+    <Content Include="Content\images\tab.gif" />
+    <Content Include="Content\jquery.notifyBar.css" />
+    <Content Include="Content\Site.css">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Site.less</DependentUpon>
+    </Content>
+    <Content Include="Content\Site.min.css">
+      <DependentUpon>Site.less</DependentUpon>
+    </Content>
+    <Content Include="Content\themes\base\images\ui-bg_flat_0_aaaaaa_40x100.png" />
+    <Content Include="Content\themes\base\images\ui-bg_flat_75_ffffff_40x100.png" />
+    <Content Include="Content\themes\base\images\ui-bg_glass_55_fbf9ee_1x400.png" />
+    <Content Include="Content\themes\base\images\ui-bg_glass_65_ffffff_1x400.png" />
+    <Content Include="Content\themes\base\images\ui-bg_glass_75_dadada_1x400.png" />
+    <Content Include="Content\themes\base\images\ui-bg_glass_75_e6e6e6_1x400.png" />
+    <Content Include="Content\themes\base\images\ui-bg_glass_95_fef1ec_1x400.png" />
+    <Content Include="Content\themes\base\images\ui-bg_highlight-soft_75_cccccc_1x100.png" />
+    <Content Include="Content\themes\base\images\ui-icons_222222_256x240.png" />
+    <Content Include="Content\themes\base\images\ui-icons_2e83ff_256x240.png" />
+    <Content Include="Content\themes\base\images\ui-icons_454545_256x240.png" />
+    <Content Include="Content\themes\base\images\ui-icons_888888_256x240.png" />
+    <Content Include="Content\themes\base\images\ui-icons_cd0a0a_256x240.png" />
+    <Content Include="Content\themes\base\jquery-ui.css" />
+    <Content Include="Content\themes\base\jquery.ui.accordion.css" />
+    <Content Include="Content\themes\base\jquery.ui.all.css" />
+    <Content Include="Content\themes\base\jquery.ui.autocomplete.css" />
+    <Content Include="Content\themes\base\jquery.ui.base.css" />
+    <Content Include="Content\themes\base\jquery.ui.button.css" />
+    <Content Include="Content\themes\base\jquery.ui.core.css" />
+    <Content Include="Content\themes\base\jquery.ui.datepicker.css" />
+    <Content Include="Content\themes\base\jquery.ui.dialog.css" />
+    <Content Include="Content\themes\base\jquery.ui.progressbar.css" />
+    <Content Include="Content\themes\base\jquery.ui.resizable.css" />
+    <Content Include="Content\themes\base\jquery.ui.selectable.css" />
+    <Content Include="Content\themes\base\jquery.ui.slider.css" />
+    <Content Include="Content\themes\base\jquery.ui.tabs.css" />
+    <Content Include="Content\themes\base\jquery.ui.theme.css" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_flat_0_aaaaaa_40x100.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_flat_75_ffffff_40x100.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_glass_55_fbf9ee_1x400.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_glass_65_ffffff_1x400.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_glass_75_dadada_1x400.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_glass_75_e6e6e6_1x400.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_glass_95_fef1ec_1x400.png" />
+    <Content Include="Content\themes\base\minified\images\ui-bg_highlight-soft_75_cccccc_1x100.png" />
+    <Content Include="Content\themes\base\minified\images\ui-icons_222222_256x240.png" />
+    <Content Include="Content\themes\base\minified\images\ui-icons_2e83ff_256x240.png" />
+    <Content Include="Content\themes\base\minified\images\ui-icons_454545_256x240.png" />
+    <Content Include="Content\themes\base\minified\images\ui-icons_888888_256x240.png" />
+    <Content Include="Content\themes\base\minified\images\ui-icons_cd0a0a_256x240.png" />
+    <Content Include="Content\themes\base\minified\jquery-ui.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.accordion.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.all.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.autocomplete.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.base.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.button.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.core.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.datepicker.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.dialog.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.progressbar.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.resizable.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.selectable.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.slider.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.tabs.min.css" />
+    <Content Include="Content\themes\base\minified\jquery.ui.theme.min.css" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_diagonals-thick_18_b81900_40x40.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_diagonals-thick_20_666666_40x40.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_flat_10_000000_40x100.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_glass_100_f6f6f6_1x400.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_glass_100_fdf5ce_1x400.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_glass_65_ffffff_1x400.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_gloss-wave_35_f6a828_500x100.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_highlight-soft_100_eeeeee_1x100.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-bg_highlight-soft_75_ffe45c_1x100.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-icons_222222_256x240.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-icons_228ef1_256x240.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-icons_ef8c08_256x240.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-icons_ffd27a_256x240.png" />
+    <Content Include="Content\themes\ui-lightness\images\ui-icons_ffffff_256x240.png" />
+    <Content Include="Content\themes\ui-lightness\jquery-ui-1.8.16.custom.css" />
+    <Content Include="Global.asax" />
+    <Content Include="README.jQuery.vsdoc.txt" />
+    <Content Include="Scripts\ajax-util.js" />
+    <Content Include="Scripts\bp-index.js" />
+    <Content Include="Scripts\jquery-1.6.4-vsdoc.js" />
+    <Content Include="Scripts\jquery-1.6.4.js" />
+    <Content Include="Scripts\jquery-1.6.4.min.js" />
+    <Content Include="Scripts\jquery-ui-1.8.16.js" />
+    <Content Include="Scripts\jquery-ui-1.8.16.min.js" />
+    <Content Include="Scripts\jquery.notifyBar.js" />
+    <Content Include="Scripts\jquery.validate-vsdoc.js" />
+    <Content Include="Scripts\jquery.validate.js" />
+    <Content Include="Scripts\jquery.validate.min.js" />
+    <Content Include="Scripts\knockout-1.3.0beta.debug.js" />
+    <Content Include="Scripts\knockout-1.3.0beta.js" />
+    <Content Include="Scripts\ko-execute-on-enter.js" />
+    <Content Include="Scripts\ko-protected-observable.js" />
+    <Content Include="Scripts\modernizr-1.7.js" />
+    <Content Include="Scripts\modernizr-1.7.min.js" />
+    <Content Include="Web.config" />
+    <Content Include="Web.Debug.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </Content>
+    <Content Include="Web.Release.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </Content>
+    <Content Include="Scripts\jquery.unobtrusive-ajax.js" />
+    <Content Include="Scripts\jquery.unobtrusive-ajax.min.js" />
+    <Content Include="Scripts\jquery.validate.unobtrusive.js" />
+    <Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
+    <Content Include="Scripts\MicrosoftAjax.js" />
+    <Content Include="Scripts\MicrosoftAjax.debug.js" />
+    <Content Include="Scripts\MicrosoftMvcAjax.js" />
+    <Content Include="Scripts\MicrosoftMvcAjax.debug.js" />
+    <Content Include="Scripts\MicrosoftMvcValidation.js" />
+    <Content Include="Scripts\MicrosoftMvcValidation.debug.js" />
+    <Content Include="Views\_ViewStart.cshtml" />
+    <Content Include="Views\Account\ChangePassword.cshtml" />
+    <Content Include="Views\Account\ChangePasswordSuccess.cshtml" />
+    <Content Include="Views\Account\LogOn.cshtml" />
+    <Content Include="Views\Account\Register.cshtml" />
+    <Content Include="Views\Home\About.cshtml" />
+    <Content Include="Views\Home\Index.cshtml" />
+    <Content Include="Views\Shared\Error.cshtml" />
+    <Content Include="Views\Shared\_LogOnPartial.cshtml" />
+    <Content Include="Views\Shared\_Layout.cshtml" />
+    <Content Include="Views\Web.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Content\Site.less">
+      <Generator>LessGenerator</Generator>
+      <LastGenOutput>Site.css</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target> -->
+  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
+    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
+  </Target>
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+        <WebProjectProperties>
+          <UseIIS>False</UseIIS>
+          <AutoAssignPort>True</AutoAssignPort>
+          <DevelopmentServerPort>19172</DevelopmentServerPort>
+          <DevelopmentServerVPath>/</DevelopmentServerVPath>
+          <IISUrl>
+          </IISUrl>
+          <NTLMAuthentication>False</NTLMAuthentication>
+          <UseCustomServer>False</UseCustomServer>
+          <CustomServerUrl>
+          </CustomServerUrl>
+          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+        </WebProjectProperties>
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+  <PropertyGroup>
+    <PostBuildEvent>
+if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
+xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"
+if not exist "$(TargetDir)amd64" md "$(TargetDir)amd64"
+xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\amd64\*.*" "$(TargetDir)amd64"</PostBuildEvent>
+  </PropertyGroup>
+</Project>

File src/Working/BasketballPlaybook/BasketballPlaybook/BasketballPlaybook.csproj.user

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectView>ProjectFiles</ProjectView>
+  </PropertyGroup>
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+        <WebProjectProperties>
+          <StartPageUrl>
+          </StartPageUrl>
+          <StartAction>SpecificPage</StartAction>
+          <AspNetDebugging>True</AspNetDebugging>
+          <SilverlightDebugging>False</SilverlightDebugging>
+          <NativeDebugging>False</NativeDebugging>
+          <SQLDebugging>False</SQLDebugging>
+          <ExternalProgram>
+          </ExternalProgram>
+          <StartExternalURL>
+          </StartExternalURL>
+          <StartCmdLineArguments>
+          </StartCmdLineArguments>
+          <StartWorkingDirectory>
+          </StartWorkingDirectory>
+          <EnableENC>False</EnableENC>
+          <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
+        </WebProjectProperties>
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+</Project>

File src/Working/BasketballPlaybook/BasketballPlaybook/Content/Site.css

+* {
+  padding: 0;
+  margin: 0;
+  outline: 0;
+}
+body {
+  background: #f9ebae;
+  font-family: Verdana, sans-serif;
+  font-size: 11px;
+  line-height: 14px;
+  color: #5e5e5e;
+}
+input, textarea, select {
+  font-family: Verdana, sans-serif;
+  font-size: 13px;
+}
+textarea {
+  overflow: hidden;
+}
+.field {
+  border: solid 1px #d3cfc7;
+  background: #fff;
+  padding: 5px;
+}
+.small-field {
+  border: solid 1px #d3cfc7;
+  background: #fff;
+  padding: 3px 1px;
+  font-size: 11px;
+}
+.checkbox {
+  width: 13px;
+  height: 13px;
+  vertical-align: top;
+  position: relative;
+  top: 2px;
+}
+.button {
+  background: #eeeeee url(images/button.gif) repeat-x 0 0;
+  border: solid 1px #b1a874;
+  color: #7f7f7f;
+  font-size: 11px;
+  padding: 2px 6px 2px 6px;
+  cursor: pointer;
+  line-height: 14px !important;
+}
+.button:hover {
+  color: #333;
+  border-color: #857b42;
+}
+.field:focus {
+  color: #000;
+  border-color: #857b42;
+}
+a img {
+  border: 0;
+}
+a {
+  color: #ba4c32;
+  text-decoration: underline;
+  cursor: pointer;
+}
+a:hover {
+  color: #8d341f;
+  text-decoration: none;
+}
+.left, .alignleft {
+  float: left;
+  display: inline;
+}
+.right, .alignright {
+  float: right;
+  display: inline;
+}
+.cl {
+  font-size: 0;
+  line-height: 0;
+  clear: both;
+  display: block;
+  height: 0;
+}
+.al {
+  text-align: left;
+}
+.ar {
+  text-align: right;
+}
+.ac {
+  text-align: center !important;
+}
+h1 {
+  font-size: 22px;
+  line-height: 24px;
+  color: #fff;
+  font-weight: normal;
+}
+h1 a {
+  color: #fff;
+  text-decoration: none;
+}
+h2 {
+  font-size: 15px;
+  font-weight: normal;
+}
+h3 {
+  font-size: 12px;
+  line-height: 14px;
+  font-weight: normal;
+}
+h3 a {
+  text-decoration: none;
+}
+.shell {
+  width: 988px;
+  margin: 0 auto;
+}
+#header {
+  height: 89px;
+  background: url(images/header.gif);
+  white-space: nowrap;
+}
+#header h1 {
+  float: left;
+  display: inline;
+  padding-top: 12px;
+}
+#top-navigation {
+  float: right;
+  white-space: nowrap;
+  color: #fff;
+  padding-top: 15px;
+}
+#top-navigation a {
+  color: #fff;
+}
+#top-navigation span {
+  color: #dca598;
+}
+#top {
+  height: 53px;
+}
+#navigation {
+  height: 36px;
+}
+#navigation ul {
+  list-style-type: none;
+}
+#navigation ul li {
+  float: left;
+  display: inline;
+  margin-right: 2px;
+}
+#navigation ul li a, #navigation ul li a span {
+  float: left;
+  height: 36px;
+  background: url(images/tab.gif) no-repeat 0 0;
+  padding: 0 0 0 15px;
+}
+#navigation ul li a span {
+  background-position: right 0;
+  padding: 0 15px 0 0;
+}
+#navigation ul li a {
+  line-height: 36px;
+  color: #907525;
+  text-decoration: none;
+}
+#navigation ul li a.active, #navigation ul li a:hover {
+  background-position: 0 bottom;
+}
+#navigation ul li a.active span, #navigation ul li a:hover span {
+  background-position: right bottom;
+}
+#navigation ul li a.active {
+  font-size: 12px;
+  font-weight: bold;
+  color: #887e42;
+}
+#container {
+  padding: 20px 0;
+}
+.small-nav {
+  color: #978b48;
+  padding-bottom: 20px;
+}
+.small-nav a {
+  color: #6f6636;
+}
+#content {
+  float: left;
+  width: 750px;
+}
+#sidebar {
+  float: right;
+  width: 225px;
+}
+.table th {
+  background: #fffdfa url(images/th.gif) repeat-x 0 0;
+  color: #818181;
+  text-align: left;
+  padding: 7px 10px;
+  border-bottom: solid 1px #d2d1cb;
+}
+.table td {
+  background: #fbfcfc;
+  border-bottom: solid 1px #e0e0e0;
+  padding: 8px 10px;
+}
+.table tr.odd td {
+  background: #f8f8f8;
+}
+.table tr:hover td {
+  background: #fff9e1;
+}
+.box {
+  background: #fbfcfc;
+  height: 100%;
+  padding: 1px;
+  margin-bottom: 20px;
+  margin-right: 4px;
+}
+.box-head {
+  background: #ba4c32;
+  height: 32px;
+  color: #fff;
+  padding: 0 10px;
+  line-height: 32px;
+  white-space: nowrap;
+  border-bottom: solid 1px #fff;
+}
+.box-head .right {
+  padding-top: 5px;
+  line-height: 13px;
+}
+.box-head .right label, .box-head .right input {
+  float: left;
+}
+.box-head .right label {
+  padding: 4px 0 0 0;
+}
+.box-head .right input {
+  margin-left: 5px;
+}
+.pagging {
+  height: 20px;
+  padding: 8px 10px;
+  line-height: 19px;
+  color: #949494;
+}
+.pagging a {
+  background: url(images/pagging.gif) repeat-x 0 0;
+  height: 20px;
+  float: left;
+  padding: 0 8px;
+  border: solid 1px #d5d5d5;
+  text-decoration: none;
+  color: #949494;
+  margin-left: 5px;
+}
+.pagging a:hover {
+  border-color: #8c3521;
+  background: #ba4c32;
+  color: #fff;
+}
+.pagging span {
+  float: left;
+  margin-left: 5px;
+  padding-top: 2px;
+}
+.form {
+  padding: 15px 10px 5px 10px;
+}
+.form label {
+  display: block;
+  font-weight: bold;
+  font-size: 13px;
+  padding-bottom: 4px;
+}
+.form label span {
+  color: #999;
+  font-weight: normal;
+}
+.form .field {
+  display: block;
+}
+.form .inline-field .field {
+  display: inline;
+}
+.form .req {
+  font-size: 13px;
+  float: right;
+  white-space: nowrap;
+  color: #999;
+}
+.form p {
+  padding-bottom: 15px;
+}
+.size1 {
+  width: 716px;
+}
+.size2 {
+  width: 80px;
+}
+.size3 {
+  width: 120px;
+}
+textarea.size1 {
+  height: 180px;
+}
+.buttons {
+  text-align: right;
+  padding: 10px;
+  background: #eee;
+  border-top: solid 1px #e0e0e0;
+}
+.buttons .button {
+  margin-left: 3px;
+}
+.box-content {
+  padding: 10px;
+}
+.sort {
+  border-top: solid 1px #e0e0e0;
+  padding-top: 10px;
+  margin-top: 15px;
+}
+.sort label {
+  display: block;
+  font-weight: bold;
+}
+.sort .field {
+  display: block;
+  margin-top: 5px;
+}
+.sort select.field {
+  width: 203px;
+}
+.box-content p {
+  padding-top: 10px;
+}
+.select-all label {
+  text-decoration: underline;
+  padding-left: 4px;
+}
+.add-button, .add-button span {
+  /*float:left;*/
+  height: 26px;
+  background: url(images/add-button.gif) no-repeat 0 0;
+  padding: 0 10px 10px 28px;
+}
+.add-button span {
+  background-position: right 0;
+  padding: 0 10px 0 0;
+}
+.add-button {
+  font-weight: bold;
+  font-size: 12px;
+  color: #747474;
+  text-decoration: none;
+  line-height: 26px;
+}
+.add-button:hover {
+  color: #333;
+}
+footer {
+  height: 44px;
+  background: url(images/footer.gif);
+  line-height: 44px;
+  color: #fff;
+  position: absolute;
+  right: 0;
+  left: 0;
+  bottom: 0;
+}
+footer a {
+  color: #fff;
+}
+.msg {
+  position: relative;
+  padding-right: 35px;
+  margin-bottom: 10px;
+}
+.msg p {
+  padding: 9px 10px 9px 40px;
+  font-size: 12px;
+  background-repeat: no-repeat;
+  background-position: 10px 5px;
+}
+.msg a.close {
+  font-size: 0;
+  line-height: 0;
+  position: absolute;
+  top: 0;
+  right: 0;
+  width: 34px;
+  height: 34px;
+  background: url(images/close.gif);
+  text-indent: -4000px;
+}
+.msg-ok p {
+  background-color: #fffac2;
+  border: solid 1px #dbd6a2;
+  color: #5e5c40;
+  background-image: url(images/msg-ok.gif);
+}
+.msg-error p {
+  background-color: #f3c598;
+  border: solid 1px #e8b084;
+  color: #ba4c32;
+  background-image: url(images/msg-error.gif);
+}
+/*** CSS3 ***/
+.box {
+  -moz-border-radius: 5px;
+  -webkit-border-radius: 5px;
+  -moz-box-shadow: 0 0 6px #978f6c;
+  -webkit-box-shadow: 0 0 6px #978f6c;
+}
+.box-head {
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -webkit-border-top-left-radius: 5px;
+  -webkit-border-top-right-radius: 5px;
+}
+.field, .button {
+  -moz-border-radius: 4px;
+  -webkit-border-radius: 4px;
+}
+.small-field, .button, .pagging a {
+  -moz-border-radius: 3px;
+  -webkit-border-radius: 3px;
+}
+.msg p {
+  -moz-border-radius: 6px;
+  -webkit-border-radius: 6px;
+}
+.button {
+  -moz-box-shadow: 0 0 2px #978f6c;
+  -webkit-box-shadow: 0 0 2px #978f6c;
+}
+/***** Custom Styles *****/
+.box-content ul {
+  padding-left: 1px;
+  padding-top: 5px;
+}
+.box-content ul li {
+  list-style-type: none;
+  padding: 4px;
+  cursor: pointer;
+}
+.box-content ul li:hover {
+  background-color: #fff9e1;
+}
+.box-content ul li.activeDrill {
+  /*background-color: #f3c598; */
+
+  background-color: #f3c598;
+}
+.box-content ul li div {
+  float: right;
+}
+/*button { -moz-box-shadow: 0 0 2px #978f6c; -webkit-box-shadow: 0 0 2px #978f6c;}*/
+button {
+  background: #eeeeee url(images/button.gif) repeat-x 0 0;
+  border: solid 1px #b1a874;
+  color: #333;
+  font-size: 11px;
+  padding: 2px 6px 2px 6px;
+  cursor: pointer;
+  line-height: 14px !important;
+}
+button:hover {
+  color: #ba4c32;
+  border-color: #857b42;
+}
+button:disabled {
+  color: GrayText;
+}
+#tagsList {
+  float: left;
+  width: 240px;
+}