Reorganized controllers into areas. Added 'About' page.tags/2.0.3
@@ -14,22 +14,32 @@ namespace Teknik | |||
public static void RegisterRoutes(RouteCollection routes) | |||
{ | |||
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); | |||
string configContents = File.ReadAllText(HttpContext.Current.Server.MapPath("~/App_Data/Config.json")); | |||
Config config = Config.Deserialize(configContents); | |||
routes.MapSubdomainRoute( | |||
"SubdomainRoute", // Route name | |||
"{customer}." + config.Host, // Domain with parameters | |||
"{action}/{id}", // URL with parameters | |||
new { controller = "Home", action = "Index", id = "" } // Parameter defaults | |||
); | |||
//routes.MapMvcAttributeRoutes(); | |||
//routes.Add(new SubdomainRoute()); | |||
routes.MapRoute( | |||
name: "Default", | |||
url: "{controller}/{action}/{id}", | |||
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } | |||
); | |||
//Map subdomains to specific style of routing | |||
// Development Routing | |||
//routes.MapSubdomainRoute( | |||
// "Dev", // Route name | |||
// "dev." + config.Host, // Domain with parameters | |||
// "{controller}/{action}", // URL with parameters | |||
// new { controller = "Dev", action = "Index" } // Parameter defaults | |||
// ); | |||
//// Blog Routing | |||
//routes.MapSubdomainRoute( | |||
// "Blog", // Route name | |||
// "{controller}." + config.Host, // Domain with parameters | |||
// "{username}/{id}", // URL with parameters | |||
// new { controller = "Blog", action = "Index" } // Parameter defaults | |||
// ); | |||
//routes.MapRoute( | |||
// name: "Default", | |||
// url: "{controller}/{action}", | |||
// defaults: new { controller = "Home", action = "Index" }, | |||
// namespaces: new[] { "Teknik.Controllers" } | |||
//); | |||
} | |||
} | |||
} |
@@ -1,19 +1,43 @@ | |||
using System.Linq; | |||
using System.IO; | |||
using System.Linq; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using System.Web.Routing; | |||
namespace Teknik | |||
{ | |||
class SubdomainRoute : Route | |||
public class SubdomainRoute : Route | |||
{ | |||
public SubdomainRoute(string url) : base(url, new MvcRouteHandler()) { } | |||
public string subDomain { get; set; } | |||
public SubdomainRoute(string subdomain, string url, IRouteHandler handler) | |||
: base(url, handler) | |||
{ | |||
this.subDomain = subdomain; | |||
} | |||
public SubdomainRoute(string subdomain, string url, RouteValueDictionary defaults, IRouteHandler handler) | |||
: base(url, defaults, handler) | |||
{ | |||
this.subDomain = subdomain; | |||
} | |||
public SubdomainRoute(string subdomain, string url, RouteValueDictionary defaults, RouteValueDictionary constraints, IRouteHandler handler) | |||
: base(url, defaults, constraints, handler) | |||
{ | |||
this.subDomain = subdomain; | |||
} | |||
public SubdomainRoute(string subdomain, string url, RouteValueDictionary defaults, RouteValueDictionary constraints, RouteValueDictionary dataTokens, IRouteHandler handler) | |||
: base(url, defaults, constraints, dataTokens, handler) | |||
{ | |||
this.subDomain = subdomain; | |||
} | |||
public override RouteData GetRouteData(HttpContextBase httpContext) | |||
{ | |||
var routeData = base.GetRouteData(httpContext); | |||
if (routeData == null) return null; // Only look at the subdomain if this route matches in the first place. | |||
string subdomain = httpContext.Request.Params["subdomain"]; // A subdomain specified as a query parameter takes precedence over the hostname. | |||
string subdomain = httpContext.Request.Params["sub"]; // A subdomain specified as a query parameter takes precedence over the hostname. | |||
if (subdomain == null) | |||
{ | |||
string host = httpContext.Request.Headers["Host"]; | |||
@@ -21,16 +45,20 @@ namespace Teknik | |||
if (index >= 0) | |||
subdomain = host.Substring(0, index); | |||
} | |||
if (subdomain != null) | |||
routeData.Values["subdomain"] = subdomain; | |||
return routeData; | |||
routeData.Values["sub"] = subdomain; | |||
if (subDomain == subdomain) | |||
{ | |||
return routeData; | |||
} | |||
return null; | |||
} | |||
public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) | |||
{ | |||
object subdomainParam = requestContext.HttpContext.Request.Params["subdomain"]; | |||
object subdomainParam = requestContext.HttpContext.Request.Params["sub"]; | |||
if (subdomainParam != null) | |||
values["subdomain"] = subdomainParam; | |||
values["sub"] = subdomainParam; | |||
return base.GetVirtualPath(requestContext, values); | |||
} | |||
} |
@@ -5,14 +5,57 @@ namespace Teknik | |||
{ | |||
public static class SubdomainRouteExtension | |||
{ | |||
public static void MapSubdomainRoute(this RouteCollection routes, string name, string url, object defaults = null, object constraints = null) | |||
public static SubdomainRoute MapSubdomainRoute(this RouteCollection routes, string name, string subDomain, string url, object defaults) | |||
{ | |||
routes.Add(name, new SubdomainRoute(url) | |||
{ | |||
Defaults = new RouteValueDictionary(defaults), | |||
Constraints = new RouteValueDictionary(constraints), | |||
DataTokens = new RouteValueDictionary() | |||
}); | |||
SubdomainRoute route = new SubdomainRoute( | |||
subDomain, | |||
url, | |||
new RouteValueDictionary(defaults), | |||
new MvcRouteHandler()); | |||
routes.Add(name, route); | |||
return route; | |||
} | |||
public static SubdomainRoute MapSubdomainRoute(this AreaRegistrationContext context, string name, string subDomain, string url, object defaults) | |||
{ | |||
SubdomainRoute route = new SubdomainRoute( | |||
subDomain, | |||
url, | |||
new RouteValueDictionary(defaults), | |||
new RouteValueDictionary(new {}), | |||
new RouteValueDictionary(new {Area = context.AreaName}), | |||
new MvcRouteHandler()); | |||
context.Routes.Add(name, route); | |||
return route; | |||
} | |||
public static SubdomainRoute MapSubdomainRoute(this AreaRegistrationContext context, string name, string subDomain, string url, object defaults, object constraints) | |||
{ | |||
SubdomainRoute route = new SubdomainRoute( | |||
subDomain, | |||
url, | |||
new RouteValueDictionary(defaults), | |||
new RouteValueDictionary(constraints), | |||
new RouteValueDictionary(new {Area = context.AreaName}), | |||
new MvcRouteHandler()); | |||
context.Routes.Add(name, route); | |||
return route; | |||
} | |||
public static SubdomainRoute MapSubdomainRoute(this RouteCollection routes, string name, string subDomain, string url, object defaults, object constraints) | |||
{ | |||
SubdomainRoute route = new SubdomainRoute( | |||
subDomain, | |||
url, | |||
new RouteValueDictionary(defaults), | |||
new RouteValueDictionary(constraints), | |||
new MvcRouteHandler()); | |||
routes.Add(name, route); | |||
return route; | |||
} | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
using System.Web.Mvc; | |||
namespace Teknik.Areas.About | |||
{ | |||
public class AboutAreaRegistration : AreaRegistration | |||
{ | |||
public override string AreaName | |||
{ | |||
get | |||
{ | |||
return "About"; | |||
} | |||
} | |||
public override void RegisterArea(AreaRegistrationContext context) | |||
{ | |||
context.MapSubdomainRoute( | |||
"About_default", // Route name | |||
"about", | |||
"{controller}/{action}", // URL with parameters | |||
new { area = this.AreaName, controller = "About", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults | |||
); | |||
} | |||
} | |||
} |
@@ -0,0 +1,22 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using Teknik.Controllers; | |||
namespace Teknik.Areas.About.Controllers | |||
{ | |||
public class AboutController : DefaultController | |||
{ | |||
[AllowAnonymous] | |||
// GET: About/About | |||
public ActionResult Index() | |||
{ | |||
ViewBag.Title = Config.Title + " - About"; | |||
ViewBag.Message = "Your application description page."; | |||
return View(Config); | |||
} | |||
} | |||
} |
@@ -0,0 +1,3 @@ | |||
@{ | |||
Layout = "~/Views/Shared/_Layout.cshtml"; | |||
} |
@@ -0,0 +1,36 @@ | |||
<?xml version="1.0"?> | |||
<configuration> | |||
<configSections> | |||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | |||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<system.web.webPages.razor> | |||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> | |||
<pages pageBaseType="System.Web.Mvc.WebViewPage"> | |||
<namespaces> | |||
<add namespace="System.Web.Mvc" /> | |||
<add namespace="System.Web.Mvc.Ajax" /> | |||
<add namespace="System.Web.Mvc.Html" /> | |||
<add namespace="System.Web.Routing" /> | |||
<add namespace="System.Web.Optimization" /> | |||
<add namespace="Teknik" /> | |||
</namespaces> | |||
</pages> | |||
</system.web.webPages.razor> | |||
<appSettings> | |||
<add key="webpages:Enabled" value="false" /> | |||
</appSettings> | |||
<system.webServer> | |||
<handlers> | |||
<remove name="BlockViewHandler"/> | |||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> | |||
</handlers> | |||
</system.webServer> | |||
</configuration> |
@@ -0,0 +1,44 @@ | |||
using System.Web.Mvc; | |||
namespace Teknik.Areas.Blog | |||
{ | |||
public class BlogAreaRegistration : AreaRegistration | |||
{ | |||
public override string AreaName | |||
{ | |||
get | |||
{ | |||
return "Blog"; | |||
} | |||
} | |||
public override void RegisterArea(AreaRegistrationContext context) | |||
{ | |||
//context.MapSubdomainRoute( | |||
// "Blog_dev", // Route name | |||
// "dev", | |||
// "blog/{controller}/{action}/{username}/{page}", // URL with parameters | |||
// new { subdomain = "blog", area = this.AreaName, controller = "Blog", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults | |||
// ); | |||
context.MapSubdomainRoute( | |||
"Blog_default", // Route name | |||
"blog", | |||
"{controller}/{action}/{username}/{page}", // URL with parameters | |||
new { area = this.AreaName, controller = "Blog", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults | |||
); | |||
//context.Routes.MapSubDomainRoute( | |||
// "Blog_default", // Route name | |||
// "blog", // Domain with parameters | |||
// "{controller}/{action}", // URL with parameters | |||
// new { controller = "Blog", action = "Index" }, // Parameter defaults | |||
// new[] { typeof(Controllers.BlogController).Namespace } | |||
// ); | |||
//context.MapRoute( | |||
// "Blog_default", | |||
// "{subdomain}/{controller}/{action}/{username}/{page}", | |||
// new { subdomain = "blog", controller = "Blog", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional }, | |||
// namespaces: new[] { "Teknik.Areas.Blog.Controllers" } | |||
//); | |||
} | |||
} | |||
} |
@@ -6,11 +6,12 @@ using System.Linq; | |||
using System.Net; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using Teknik.Controllers; | |||
using Teknik.Models; | |||
namespace Teknik.Controllers | |||
namespace Teknik.Areas.Blog.Controllers | |||
{ | |||
public class BlogController : Controller | |||
public class BlogController : DefaultController | |||
{ | |||
private TeknikEntities db = new TeknikEntities(); | |||
@@ -29,7 +30,7 @@ namespace Teknik.Controllers | |||
{ | |||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest); | |||
} | |||
Blog blog = db.Blogs.Find(id); | |||
Models.Blog blog = db.Blogs.Find(id); | |||
if (blog == null) | |||
{ | |||
return HttpNotFound(); | |||
@@ -48,7 +49,7 @@ namespace Teknik.Controllers | |||
// more details see http://go.microsoft.com/fwlink/?LinkId=317598. | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
public ActionResult Create([Bind(Include = "BlogId,UserId")] Blog blog) | |||
public ActionResult Create([Bind(Include = "BlogId,UserId")] Models.Blog blog) | |||
{ | |||
if (ModelState.IsValid) | |||
{ | |||
@@ -67,7 +68,7 @@ namespace Teknik.Controllers | |||
{ | |||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest); | |||
} | |||
Blog blog = db.Blogs.Find(id); | |||
Models.Blog blog = db.Blogs.Find(id); | |||
if (blog == null) | |||
{ | |||
return HttpNotFound(); | |||
@@ -80,7 +81,7 @@ namespace Teknik.Controllers | |||
// more details see http://go.microsoft.com/fwlink/?LinkId=317598. | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
public ActionResult Edit([Bind(Include = "BlogId,UserId")] Blog blog) | |||
public ActionResult Edit([Bind(Include = "BlogId,UserId")] Models.Blog blog) | |||
{ | |||
if (ModelState.IsValid) | |||
{ | |||
@@ -98,7 +99,7 @@ namespace Teknik.Controllers | |||
{ | |||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest); | |||
} | |||
Blog blog = db.Blogs.Find(id); | |||
Models.Blog blog = db.Blogs.Find(id); | |||
if (blog == null) | |||
{ | |||
return HttpNotFound(); | |||
@@ -111,7 +112,7 @@ namespace Teknik.Controllers | |||
[ValidateAntiForgeryToken] | |||
public ActionResult DeleteConfirmed(int id) | |||
{ | |||
Blog blog = db.Blogs.Find(id); | |||
Models.Blog blog = db.Blogs.Find(id); | |||
db.Blogs.Remove(blog); | |||
db.SaveChanges(); | |||
return RedirectToAction("Index"); |
@@ -0,0 +1,2 @@ | |||
| |||
Test Blog |
@@ -0,0 +1,3 @@ | |||
@{ | |||
Layout = "~/Views/Shared/_Layout.cshtml"; | |||
} |
@@ -0,0 +1,36 @@ | |||
<?xml version="1.0"?> | |||
<configuration> | |||
<configSections> | |||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | |||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<system.web.webPages.razor> | |||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> | |||
<pages pageBaseType="System.Web.Mvc.WebViewPage"> | |||
<namespaces> | |||
<add namespace="System.Web.Mvc" /> | |||
<add namespace="System.Web.Mvc.Ajax" /> | |||
<add namespace="System.Web.Mvc.Html" /> | |||
<add namespace="System.Web.Routing" /> | |||
<add namespace="System.Web.Optimization" /> | |||
<add namespace="Teknik" /> | |||
</namespaces> | |||
</pages> | |||
</system.web.webPages.razor> | |||
<appSettings> | |||
<add key="webpages:Enabled" value="false" /> | |||
</appSettings> | |||
<system.webServer> | |||
<handlers> | |||
<remove name="BlockViewHandler"/> | |||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> | |||
</handlers> | |||
</system.webServer> | |||
</configuration> |
@@ -0,0 +1,20 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using Teknik.Controllers; | |||
namespace Teknik.Areas.Dev.Controllers | |||
{ | |||
public class DevController : DefaultController | |||
{ | |||
[AllowAnonymous] | |||
// GET: Dev | |||
public ActionResult Index() | |||
{ | |||
ViewBag.Title = Config.Title + " - Development"; | |||
return View("~/Areas/Dev/Views/Dev/Index.cshtml"); | |||
} | |||
} | |||
} |
@@ -0,0 +1,32 @@ | |||
using System.Web.Mvc; | |||
namespace Teknik.Areas.Dev | |||
{ | |||
public class DevAreaRegistration : AreaRegistration | |||
{ | |||
public override string AreaName | |||
{ | |||
get | |||
{ | |||
return "Dev"; | |||
} | |||
} | |||
public override void RegisterArea(AreaRegistrationContext context) | |||
{ | |||
//Config config = Config.Load(); | |||
context.MapSubdomainRoute( | |||
"Dev_subdomain", // Route name | |||
"dev", | |||
"{area}/{controller}/{action}", // URL with parameters | |||
new { area = "Home", controller = "Home", action = "Index" } // Parameter defaults | |||
); | |||
//context.MapRoute( | |||
// "Dev_default", | |||
// "Dev/{controller}/{action}", | |||
// new { controller = "Dev", action = "Index" }, | |||
// namespaces: new[] { "Teknik.Areas.Dev.Controllers" } | |||
//); | |||
} | |||
} | |||
} |
@@ -0,0 +1,4 @@ | |||
| |||
Testing Dev | |||
@Html.ActionLink("Main Area", "Index", "Blog", new { area = "Blog" }, null) |
@@ -0,0 +1,3 @@ | |||
@{ | |||
Layout = "~/Views/Shared/_Layout.cshtml"; | |||
} |
@@ -0,0 +1,36 @@ | |||
<?xml version="1.0"?> | |||
<configuration> | |||
<configSections> | |||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | |||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<system.web.webPages.razor> | |||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> | |||
<pages pageBaseType="System.Web.Mvc.WebViewPage"> | |||
<namespaces> | |||
<add namespace="System.Web.Mvc" /> | |||
<add namespace="System.Web.Mvc.Ajax" /> | |||
<add namespace="System.Web.Mvc.Html" /> | |||
<add namespace="System.Web.Routing" /> | |||
<add namespace="System.Web.Optimization" /> | |||
<add namespace="Teknik" /> | |||
</namespaces> | |||
</pages> | |||
</system.web.webPages.razor> | |||
<appSettings> | |||
<add key="webpages:Enabled" value="false" /> | |||
</appSettings> | |||
<system.webServer> | |||
<handlers> | |||
<remove name="BlockViewHandler"/> | |||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> | |||
</handlers> | |||
</system.webServer> | |||
</configuration> |
@@ -1,17 +1,16 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Configuration; | |||
using System.Linq; | |||
using System.Web; | |||
using System.Web.Mvc; | |||
using System.Web.UI.WebControls; | |||
using Teknik.Controllers; | |||
using Teknik.Models; | |||
using Teknik.ViewModels; | |||
namespace Teknik.Controllers | |||
namespace Teknik.Areas.Home.Controllers | |||
{ | |||
public class HomeController : DefaultController | |||
{ | |||
// GET: Home/Home | |||
private TeknikEntities db = new TeknikEntities(); | |||
[AllowAnonymous] | |||
@@ -30,23 +29,5 @@ namespace Teknik.Controllers | |||
ViewBag.Title = Config.Title; | |||
return View(lastPosts); | |||
} | |||
[AllowAnonymous] | |||
public ActionResult About() | |||
{ | |||
ViewBag.Title = Config.Title + " - About"; | |||
ViewBag.Message = "Your application description page."; | |||
return View(); | |||
} | |||
[AllowAnonymous] | |||
public ActionResult Contact() | |||
{ | |||
ViewBag.Title = Config.Title + " - Contact"; | |||
ViewBag.Message = "Your contact page."; | |||
return View(); | |||
} | |||
} | |||
} |
@@ -0,0 +1,38 @@ | |||
using System.Web.Mvc; | |||
using Teknik; | |||
namespace Teknik.Areas.Home | |||
{ | |||
public class HomeAreaRegistration : AreaRegistration | |||
{ | |||
public override string AreaName | |||
{ | |||
get | |||
{ | |||
return "Home"; | |||
} | |||
} | |||
public override void RegisterArea(AreaRegistrationContext context) | |||
{ | |||
context.MapSubdomainRoute( | |||
"Home_dev", // Route name | |||
"www", | |||
"{controller}/{action}", // URL with parameters | |||
new { area = this.AreaName, controller = "Home", action = "Index" } // Parameter defaults | |||
); | |||
context.MapSubdomainRoute( | |||
"Home_subdomain", // Route name | |||
null, | |||
"{controller}/{action}", // URL with parameters | |||
new { area = this.AreaName, controller = "Home", action = "Index" } // Parameter defaults | |||
); | |||
//context.MapRoute( | |||
// "Home_default", | |||
// "{controller}/{action}", | |||
// new { area = "Home", controller = "Home", action = "Index" }, | |||
// namespaces: new[] { "Teknik.Areas.Home.Controllers" } | |||
//); | |||
} | |||
} | |||
} |
@@ -138,10 +138,10 @@ | |||
<div class="row"> | |||
<div class="col-sm-12"> | |||
<div class="blog-post-sm"> | |||
<h2 class="blog-post-title-sm text-left"><a href="@Url.Action("Index", "Blog")/@post.Blog.User.Username/@post.PostId" id="title_@post.PostId">@post.Title</a> | |||
<h2 class="blog-post-title-sm text-left"><a href="@Url.Action("Index", "Blog", new { area = "Blog"}, "https")/@post.Blog.User.Username/@post.PostId" id="title_@post.PostId">@post.Title</a> | |||
</h2> | |||
<p class="blog-post-meta-sm text-left text-muted"> | |||
Posted on @post.DatePosted.ToString("MMMM dd, yyyy") by <a href="@Url.Action("Index", "Profile")/@post.Blog.User.Username">@post.Blog.User.Username</a> | |||
Posted on @post.DatePosted.ToString("MMMM dd, yyyy") by <a href="@Url.Action("Index", "Profile", new { area = "Blog"}, "https")/@post.Blog.User.Username">@post.Blog.User.Username</a> | |||
</p> | |||
</div> | |||
</div> |
@@ -0,0 +1,3 @@ | |||
@{ | |||
Layout = "~/Views/Shared/_Layout.cshtml"; | |||
} |
@@ -0,0 +1,36 @@ | |||
<?xml version="1.0"?> | |||
<configuration> | |||
<configSections> | |||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | |||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<system.web.webPages.razor> | |||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> | |||
<pages pageBaseType="System.Web.Mvc.WebViewPage"> | |||
<namespaces> | |||
<add namespace="System.Web.Mvc" /> | |||
<add namespace="System.Web.Mvc.Ajax" /> | |||
<add namespace="System.Web.Mvc.Html" /> | |||
<add namespace="System.Web.Routing" /> | |||
<add namespace="System.Web.Optimization" /> | |||
<add namespace="Teknik" /> | |||
</namespaces> | |||
</pages> | |||
</system.web.webPages.razor> | |||
<appSettings> | |||
<add key="webpages:Enabled" value="false" /> | |||
</appSettings> | |||
<system.webServer> | |||
<handlers> | |||
<remove name="BlockViewHandler"/> | |||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> | |||
</handlers> | |||
</system.webServer> | |||
</configuration> |
@@ -1,5 +1,7 @@ | |||
using System; | |||
using System.IO; | |||
using System.Threading; | |||
using System.Web; | |||
using Newtonsoft.Json; | |||
namespace Teknik | |||
@@ -15,12 +17,14 @@ namespace Teknik | |||
private string _Description; | |||
private string _Author; | |||
private string _Host; | |||
private string _BitcoinAddress; | |||
public bool DevEnvironment { get { return _DevEnvironment; } set { _DevEnvironment = value; } } | |||
public string Title { get { return _Title; } set { _Title = value; } } | |||
public string Description { get { return _Description; } set { _Description = value; } } | |||
public string Author { get { return _Author; } set { _Author = value; } } | |||
public string Host { get { return _Host; } set { _Host = value; } } | |||
public string BitcoinAddress { get { return _BitcoinAddress; } set { _BitcoinAddress = value; } } | |||
public Config() | |||
{ | |||
@@ -39,6 +43,7 @@ namespace Teknik | |||
Description = String.Empty; | |||
Author = String.Empty; | |||
Host = String.Empty; | |||
BitcoinAddress = string.Empty; | |||
} | |||
public static Config Deserialize(string text) | |||
@@ -50,5 +55,12 @@ namespace Teknik | |||
{ | |||
return JsonConvert.SerializeObject(config); | |||
} | |||
public static Config Load() | |||
{ | |||
string configContents = File.ReadAllText(HttpContext.Current.Server.MapPath("~/App_Data/Config.json")); | |||
Config config = Config.Deserialize(configContents); | |||
return config; | |||
} | |||
} | |||
} |
@@ -12,7 +12,7 @@ namespace Teknik.Controllers | |||
protected string Subdomain | |||
{ | |||
get { return (string)Request.RequestContext.RouteData.Values["subdomain"]; } | |||
get { return (string)Request.RequestContext.RouteData.Values["sub"]; } | |||
} | |||
protected Config Config |
@@ -16,6 +16,7 @@ namespace Teknik | |||
protected void Application_Start() | |||
{ | |||
AreaRegistration.RegisterAllAreas(); | |||
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); | |||
RouteConfig.RegisterRoutes(RouteTable.Routes); | |||
BundleConfig.RegisterBundles(BundleTable.Bundles); |
@@ -1,13 +0,0 @@ | |||
using Microsoft.Owin; | |||
using Owin; | |||
[assembly: OwinStartupAttribute(typeof(Teknik.Startup))] | |||
namespace Teknik | |||
{ | |||
public partial class Startup | |||
{ | |||
public void Configuration(IAppBuilder app) | |||
{ | |||
} | |||
} | |||
} |
@@ -54,6 +54,10 @@ | |||
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> | |||
<Private>True</Private> | |||
</Reference> | |||
<Reference Include="RouteDebugger, Version=2.1.4.0, Culture=neutral, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\routedebugger.2.1.4.0\lib\net40\RouteDebugger.dll</HintPath> | |||
<Private>True</Private> | |||
</Reference> | |||
<Reference Include="SecurityDriven.Inferno, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\Inferno.1.0.0\lib\net451\SecurityDriven.Inferno.dll</HintPath> | |||
<Private>True</Private> | |||
@@ -123,51 +127,24 @@ | |||
<Reference Include="Microsoft.AspNet.Identity.Core"> | |||
<HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.0\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.AspNet.Identity.Owin"> | |||
<HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.AspNet.Identity.EntityFramework"> | |||
<HintPath>..\packages\Microsoft.AspNet.Identity.EntityFramework.2.2.0\lib\net45\Microsoft.AspNet.Identity.EntityFramework.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Owin"> | |||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin"> | |||
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Host.SystemWeb"> | |||
<HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.Facebook"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.Facebook.3.0.1\lib\net45\Microsoft.Owin.Security.Facebook.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.Cookies"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.OAuth"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.Google"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.Google.3.0.1\lib\net45\Microsoft.Owin.Security.Google.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.Twitter"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.Twitter.3.0.1\lib\net45\Microsoft.Owin.Security.Twitter.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Microsoft.Owin.Security.MicrosoftAccount"> | |||
<HintPath>..\packages\Microsoft.Owin.Security.MicrosoftAccount.3.0.1\lib\net45\Microsoft.Owin.Security.MicrosoftAccount.dll</HintPath> | |||
</Reference> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Compile Include="App_Start\BundleConfig.cs" /> | |||
<Compile Include="App_Start\FilterConfig.cs" /> | |||
<Compile Include="App_Start\RouteConfig.cs" /> | |||
<Compile Include="Areas\About\AboutAreaRegistration.cs" /> | |||
<Compile Include="Areas\About\Controllers\AboutController.cs" /> | |||
<Compile Include="Areas\Blog\BlogAreaRegistration.cs" /> | |||
<Compile Include="Areas\Dev\DevAreaRegistration.cs" /> | |||
<Compile Include="Areas\Home\Controllers\HomeController.cs" /> | |||
<Compile Include="Areas\Home\HomeAreaRegistration.cs" /> | |||
<Compile Include="Configuration\Config.cs" /> | |||
<Compile Include="Controllers\BlogController.cs" /> | |||
<Compile Include="Areas\Blog\Controllers\BlogController.cs" /> | |||
<Compile Include="Controllers\DefaultController.cs" /> | |||
<Compile Include="Controllers\HomeController.cs" /> | |||
<Compile Include="Areas\Dev\Controllers\DevController.cs" /> | |||
<Compile Include="Controllers\ProfileController.cs" /> | |||
<Compile Include="Global.asax.cs"> | |||
<DependentUpon>Global.asax</DependentUpon> | |||
@@ -181,7 +158,6 @@ | |||
<Compile Include="ViewModels\RegisterViewModel.cs" /> | |||
<Compile Include="ViewModels\ViewModelBase.cs" /> | |||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||
<Compile Include="Startup.cs" /> | |||
<Compile Include="App_Start\SubdomainRoute.cs" /> | |||
<Compile Include="App_Start\SubdomainRouteExtension.cs" /> | |||
</ItemGroup> | |||
@@ -213,6 +189,17 @@ | |||
<Content Include="Content\fonts\fontawesome-webfont.eot" /> | |||
<Content Include="Content\fonts\FontAwesome.otf" /> | |||
<Content Include="ConnectionStrings.config" /> | |||
<Content Include="Areas\Blog\Views\web.config" /> | |||
<Content Include="Areas\Blog\Views\Blog\Index.cshtml" /> | |||
<Content Include="Areas\Dev\Views\web.config" /> | |||
<Content Include="Areas\Home\Views\web.config" /> | |||
<Content Include="Areas\Home\Views\_ViewStart.cshtml" /> | |||
<Content Include="Areas\Dev\Views\_ViewStart.cshtml" /> | |||
<Content Include="Areas\Blog\Views\_ViewStart.cshtml" /> | |||
<Content Include="Areas\Home\Views\Home\Index.cshtml" /> | |||
<Content Include="Areas\About\Views\web.config" /> | |||
<Content Include="Areas\About\Views\About\Index.cshtml" /> | |||
<Content Include="Areas\About\Views\_ViewStart.cshtml" /> | |||
<None Include="Properties\PublishProfiles\IIS.pubxml" /> | |||
<None Include="Scripts\jquery-2.1.4.intellisense.js" /> | |||
<Content Include="Scripts\common.js" /> | |||
@@ -245,20 +232,24 @@ | |||
<Content Include="Views\_ViewStart.cshtml" /> | |||
<Content Include="Views\Shared\Error.cshtml" /> | |||
<Content Include="Views\Shared\_Layout.cshtml" /> | |||
<Content Include="Views\Home\About.cshtml" /> | |||
<Content Include="Views\Home\Contact.cshtml" /> | |||
<Content Include="Views\Home\Index.cshtml" /> | |||
<Content Include="Views\Shared\Lockout.cshtml" /> | |||
<Content Include="Views\Shared\_LoginPartial.cshtml" /> | |||
<Content Include="Views\Shared\_Navbar.cshtml" /> | |||
<Content Include="Views\Shared\_Footer.cshtml" /> | |||
<Content Include="Views\Blog\Index.cshtml" /> | |||
<Content Include="Views\Profile\Index.cshtml" /> | |||
<Content Include="Views\Profile\Login.cshtml" /> | |||
<Content Include="Views\Profile\Register.cshtml" /> | |||
<Content Include="Areas\Dev\Views\Dev\Index.cshtml" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Views\Default\" /> | |||
<Folder Include="Areas\About\Models\" /> | |||
<Folder Include="Areas\About\Views\Shared\" /> | |||
<Folder Include="Areas\Blog\Models\" /> | |||
<Folder Include="Areas\Blog\Views\Shared\" /> | |||
<Folder Include="Areas\Dev\Models\" /> | |||
<Folder Include="Areas\Dev\Views\Shared\" /> | |||
<Folder Include="Areas\Home\Models\" /> | |||
<Folder Include="Areas\Home\Views\Shared\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Content Include="packages.config" /> |
@@ -0,0 +1,78 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!-- | |||
For more information on how to configure your ASP.NET application, please visit | |||
http://go.microsoft.com/fwlink/?LinkId=301880 | |||
--> | |||
<configuration> | |||
<configSections> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections> | |||
<connectionStrings configSource="ConnectionStrings.config" /> | |||
<!-- Create ConnectionStrings.config and add your connection string--> | |||
<appSettings> | |||
<add key="webpages:Version" value="3.0.0.0" /> | |||
<add key="webpages:Enabled" value="false" /> | |||
<add key="ClientValidationEnabled" value="true" /> | |||
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> | |||
</appSettings> | |||
<!-- | |||
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367. | |||
The following attributes can be set on the <httpRuntime> tag. | |||
<system.Web> | |||
<httpRuntime targetFramework="4.5.2" /> | |||
</system.Web> | |||
--> | |||
<system.web> | |||
<customErrors mode="Off" /> | |||
<authentication mode="Forms" /> | |||
<compilation debug="true" targetFramework="4.5.2" /> | |||
<httpRuntime targetFramework="4.5.2" /> | |||
</system.web> | |||
<system.webServer> | |||
<modules> | |||
<remove name="FormsAuthentication" /> | |||
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" /> | |||
</modules> | |||
</system.webServer> | |||
<runtime> | |||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> | |||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> | |||
</dependentAssembly> | |||
</assemblyBinding> | |||
</runtime> | |||
<entityFramework> | |||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | |||
<parameters> | |||
<parameter value="mssqllocaldb" /> | |||
</parameters> | |||
</defaultConnectionFactory> | |||
<providers> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> | |||
</providers> | |||
</entityFramework> | |||
</configuration> |
@@ -1 +0,0 @@ | |||
|
@@ -1 +0,0 @@ | |||
|
@@ -1 +0,0 @@ | |||
|
@@ -1,5 +1,5 @@ | |||
<footer id="footer" class="footer navbar navbar-default"> | |||
<div class="container"> | |||
<p class="text-muted">© Teknik 2013-2015 | @Html.ActionLink("Privacy", "Index", "Privacy", routeValues: null, htmlAttributes: new { title = "Privacy" }) | @Html.ActionLink("Transparency", "Index", "Transparency", routeValues: null, htmlAttributes: new { title = "Transparency" }) | @Html.ActionLink("Server", "Index", "Server", routeValues: null, htmlAttributes: new { title = "Server" })</p> | |||
<p class="text-muted">© Teknik 2013-2015 | @Html.ActionLink("Privacy", "Index", "Privacy", new { area = "Privacy"}, htmlAttributes: new { title = "Privacy" }) | @Html.ActionLink("Transparency", "Index", "Transparency", new { area = "Transparency" }, htmlAttributes: new { title = "Transparency" }) | @Html.ActionLink("Server", "Index", "Server", new { area = "Server" }, htmlAttributes: new { title = "Server" })</p> | |||
</div> | |||
</footer> |
@@ -1,22 +1,22 @@ | |||
<?xml version="1.0"?> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!-- | |||
For more information on how to configure your ASP.NET application, please visit | |||
http://go.microsoft.com/fwlink/?LinkId=301880 | |||
--> | |||
<configuration> | |||
<configSections> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> | |||
</configSections> | |||
<connectionStrings configSource="ConnectionStrings.config"/> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections> | |||
<connectionStrings configSource="ConnectionStrings.config" /> | |||
<!-- Create ConnectionStrings.config and add your connection string--> | |||
<appSettings> | |||
<add key="webpages:Version" value="3.0.0.0"/> | |||
<add key="webpages:Enabled" value="false"/> | |||
<add key="ClientValidationEnabled" value="true"/> | |||
<add key="UnobtrusiveJavaScriptEnabled" value="true"/> | |||
</appSettings> | |||
<add key="webpages:Version" value="3.0.0.0" /> | |||
<add key="webpages:Enabled" value="false" /> | |||
<add key="ClientValidationEnabled" value="true" /> | |||
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> | |||
<add key="RouteDebugger:Enabled" value="true" /></appSettings> | |||
<!-- | |||
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367. | |||
@@ -26,69 +26,64 @@ | |||
</system.Web> | |||
--> | |||
<system.web> | |||
<customErrors mode="Off"/> | |||
<authentication mode="Forms"/> | |||
<compilation debug="true" targetFramework="4.5.2"/> | |||
<httpRuntime targetFramework="4.5.2"/> | |||
<customErrors mode="Off" /> | |||
<authentication mode="Forms" /> | |||
<compilation debug="true" targetFramework="4.5.2" /> | |||
<httpRuntime targetFramework="4.5.2" /> | |||
</system.web> | |||
<system.webServer> | |||
<modules> | |||
<remove name="FormsAuthentication"/> | |||
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/> | |||
<remove name="FormsAuthentication" /> | |||
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" /> | |||
</modules> | |||
<!--<rewrite> | |||
<rules> | |||
<rule name="sub domain map" patternSyntax="ECMAScript" stopProcessing="false"> | |||
<match url="(.*)" /> | |||
<action type="Rewrite" url="{C:1}/{R:1}" appendQueryString="true" /> | |||
<conditions trackAllCaptures="true"> | |||
<add input="{HTTP_HOST}" pattern="([a-zA-Z0-9]+)?.?teknik.io" /> | |||
</conditions> | |||
</rule> | |||
</rules> | |||
</rewrite>--> | |||
</system.webServer> | |||
<runtime> | |||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> | |||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> | |||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> | |||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> | |||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> | |||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/> | |||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/> | |||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> | |||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> | |||
</dependentAssembly> | |||
</assemblyBinding> | |||
</runtime> | |||
<entityFramework> | |||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | |||
<parameters> | |||
<parameter value="mssqllocaldb"/> | |||
<parameter value="mssqllocaldb" /> | |||
</parameters> | |||
</defaultConnectionFactory> | |||
<providers> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> | |||
</providers> | |||
</entityFramework> | |||
</configuration> |
@@ -2,32 +2,22 @@ | |||
<packages> | |||
<package id="Antlr" version="3.4.1.9004" targetFramework="net46" userInstalled="true" /> | |||
<package id="bootstrap" version="3.3.4" targetFramework="net46" userInstalled="true" /> | |||
<package id="EntityFramework" version="6.1.2" targetFramework="net46" userInstalled="true" /> | |||
<package id="EntityFramework" version="6.1.2" targetFramework="net452" userInstalled="true" /> | |||
<package id="FontAwesome" version="4.2.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Inferno" version="1.0.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="jQuery" version="2.1.4" targetFramework="net46" userInstalled="true" /> | |||
<package id="jQuery.Validation" version="1.11.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Identity.Core" version="2.2.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.Facebook" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.Google" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.MicrosoftAccount" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Owin.Security.Twitter" version="3.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Modernizr" version="2.6.2" targetFramework="net46" userInstalled="true" /> | |||
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net46" userInstalled="true" /> | |||
<package id="Owin" version="1.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="Respond" version="1.2.0" targetFramework="net46" userInstalled="true" /> | |||
<package id="routedebugger" version="2.1.4" targetFramework="net452" userInstalled="true" /> | |||
<package id="WebGrease" version="1.6.0" targetFramework="net46" userInstalled="true" /> | |||
</packages> |