Skip to content

Instantly share code, notes, and snippets.

View AlexZeitler's full-sized avatar
👷‍♂️
Building stuff

Alexander Zeitler AlexZeitler

👷‍♂️
Building stuff
View GitHub Profile
public static void RegisterRoutes(RouteCollection routes) {
var config = GlobalConfiguration.Configuration;
config.Filters.Add(new RavenActionFilterAttribute());
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
config.Routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
public class UnitsController : RavenController {
public List<Unit> Get() {
return this.Session.Query<Unit>().ToList();
}
public HttpResponseMessage<Unit> Post(Unit unit) {
if(null != unit) {
Session.Store(unit);
return new HttpResponseMessage<Unit>(unit, HttpStatusCode.OK);
protected void Application_Start() {
initializeDocumentStore();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
BundleTable.Bundles.RegisterTemplateBundles();
}
public abstract class RavenApiController : ApiController {
public static IDocumentStore DocumentStore { get; set; }
public IDocumentSession Session { get; set; }
public override Task<System.Net.Http.HttpResponseMessage> ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken) {
Session = (IDocumentSession)HttpContext.Current.Items["CurrentRequestRavenSession"];
return base.ExecuteAsync(controllerContext, cancellationToken);
}
public class UnitsController : RavenApiController {
public List<Unit> Get() {
return this.Session.Query<Unit>().ToList();
}
public HttpResponseMessage<Unit> Post(Unit unit) {
if(null != unit) {
Session.Store(unit);
return new HttpResponseMessage<Unit>(unit, HttpStatusCode.OK);
@AlexZeitler
AlexZeitler / gist:2024730
Created March 12, 2012 21:16
ASP.NET Web API nested route sample
routes.MapHttpRoute("contacts", "api/contacts/{id}", new { controller = "Contacts", id = RouteParameter.Optional });
routes.MapHttpRoute("addresses", "api/contacts/{contactId}/addresses/{addressId}", new { controller = "Addresses", addressId = RouteParameter.Optional});
public class AddressesController : ApiController {
public List<Address> Get(int contactId) {
return new List<Address>();
@AlexZeitler
AlexZeitler / LowercaseContractResolver.cs
Created April 5, 2012 12:06
LowercaseContractResolver for Json.NET serialization
public class LowercaseContractResolver : DefaultContractResolver {
protected override string ResolvePropertyName(string propertyName) {
return propertyName.ToLower();
}
}
@AlexZeitler
AlexZeitler / Global.asax.cs
Created April 5, 2012 12:19
Creating lower case JSON using built in JsonFormatter using Json.NET
var config = GlobalConfiguration.Configuration;
var settings = new JsonSerializerSettings();
settings.ContractResolver = new LowercaseContractResolver();
config.Formatters.JsonFormatter.SerializerSettings = settings;
@AlexZeitler
AlexZeitler / Global.asax.cs
Created April 5, 2012 12:21
Creating lower case JSON using JsonNetFormatter from WebApiContrib
var config = GlobalConfiguration.Configuration;
var settings = new JsonSerializerSettings();
settings.ContractResolver = new LowercaseContractResolver();
config.Formatters.Remove(config.Formatters.JsonFormatter);
config.Formatters.Add(new JsonNetFormatter(settings));
@AlexZeitler
AlexZeitler / gist:2562435
Created April 30, 2012 20:31
Vertical alignment issue in twitter bootstrap
<input type="text" size="16" class="span1"><button type="button" class="btn"><i class="icon-plus-sign"></i> </button>
is wrong and will look like this
http://img37.imageshack.us/img37/88/capturedcran20120201221.png
(also read this: https://github.com/twitter/bootstrap/issues/1543)
Do this instead:
<form class="form-inline">
<div class="control-group">
<div class="controls">