Skip to content

Instantly share code, notes, and snippets.

View beyond-code-github's full-sized avatar

Pete Smith beyond-code-github

View GitHub Profile
@beyond-code-github
beyond-code-github / gist:5317736
Created April 5, 2013 08:54
State machine routing Javascript prototype
<html>
<head>
<title>State machine routing prototype</title>
</head>
<body>
<h3>State machine routing concept</h3>
<p>Extremely flexible mechanism for defining routes for web applications</p>
<ul>
<li>Hierarchical
</li>
var koProvider = {
observable: function () {
return ko.observable();
},
computed: function (func)
{
return ko.computed(func);
}
}
@beyond-code-github
beyond-code-github / MongoDocument.cs
Created April 22, 2013 20:23
Implementation of BsonDocument backed class
using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
[Serializable]
[BsonSerializer(typeof(MongoDocumentClassSerializer))]
public class MongoDocument : BsonDocumentBackedClass
{
@beyond-code-github
beyond-code-github / MongoDocumentClassSerializer.cs
Created April 22, 2013 20:26
Implementation of BsonDocumentBackedClass serializer, with id generation and concrete property
using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.IdGenerators;
using MongoDB.Bson.Serialization.Serializers;
public class MongoDocumentClassSerializer : BsonDocumentBackedClassSerializer<MongoDocument>, IBsonIdProvider
{
public MongoDocumentClassSerializer()
@beyond-code-github
beyond-code-github / mongodocumentusage.cs
Created April 22, 2013 20:32
Using the MongoDocument class
var mongoCollection = database.GetCollection<MongoDocument>("Dynamic");
mongoCollection.Insert(
new MongoDocument(
new BsonDocument {
{ "Name", "A test record" },
{ "Date", new DateTime(2013,01,01) },
{ "Age", 28 },
{ "Complete", false } }));
@beyond-code-github
beyond-code-github / ValuesController.cs
Last active December 17, 2015 06:09
Initial values controller
namespace LinqToQuerystringPagingSample.Controllers
{
using System.Linq;
using System.Web.Http;
public class ValuesController : ApiController
{
// GET api/values
public IQueryable<string> Get()
{
@beyond-code-github
beyond-code-github / WebApiConfig.cs
Last active December 17, 2015 06:09
Removal of the XML formatter
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var xmlFormatter = config.Formatters.XmlFormatter;
config.Formatters.Remove(xmlFormatter);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
@beyond-code-github
beyond-code-github / gist:5564031
Created May 12, 2013 16:07
Linq to Querystring paging sample - Index.cshtml
<div id="body">
<section class="featured">
<div class="content-wrapper">
<hgroup class="title">
<h1>Paging with Linq to Querystring</h1>
</hgroup>
<p>
Look how easy it is to page data with OData and Linq to Querystring!
</p>
</div>
@beyond-code-github
beyond-code-github / gist:5564047
Created May 12, 2013 16:11
Javascript for Linq to Querystring paging sample
// Define the viewmodel
var model = {};
model.records = ko.observableArray();
model.count = ko.observable(0);
model.currentPage = ko.observable(1);
model.pageSize = ko.observable(5);
model.pages = ko.computed(function () {
var pages = [];
@beyond-code-github
beyond-code-github / gist:5564201
Created May 12, 2013 16:51
Final version of the getData function
// Button click function
model.getData = function () {
var skip = model.pageSize() * (model.currentPage() - 1);
$.get("/api/values?$top=" + model.pageSize() + "&$skip=" + skip + "&$inlinecount=allpages", function (data) {
model.count(data.Count);
model.records(data.Results);
});
};