Skip to content

Instantly share code, notes, and snippets.

View VisualBean's full-sized avatar
🐵

Alex Wichmann VisualBean

🐵
View GitHub Profile
@VisualBean
VisualBean / PagingFilter.cs
Created December 14, 2015 11:38
partial part of pagingFilter.cs
var queryString = HttpUtility.ParseQueryString(context.Request.RequestUri.Query);
var brandName = queryString.Get("brand");
@VisualBean
VisualBean / PagingFilter.cs
Last active December 14, 2015 11:39
Partial bit of PaginFilter.cs
int offset = 0;
int limit = 0;
var queryString = HttpUtility.ParseQueryString(context.Request.RequestUri.Query);
if(queryString.Count == 0) return;
int.TryParse(queryString.Get("offset"), out offset);
int.TryParse(queryString.Get("limit"), out limit);
@VisualBean
VisualBean / PagingFilter.cs
Last active December 14, 2015 11:43
Partial part of PaginFilter.cs
//Get our returned entityModel from the response
IEnumerable model = null;
context.Response.TryGetContentValue(out model);
if (model == null) return;
//Change response if limit or offset is not zero
IEnumerable result = null;
if ((limit + offset) > 0)
{
result = model.Take(limit).Skip(offset);
@VisualBean
VisualBean / PagingFilter.cs
Created December 14, 2015 11:40
Partial part of PagingFilter.cs
var objectContent = context.ActionContext?.Response?.Content as ObjectContent;
if (objectContent != null)
objectContent.Value = result;
@VisualBean
VisualBean / PagingFilter.cs
Created December 14, 2015 11:41
Partial Part of PagingFilter.cs
public class PagingFilter : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext context)
{
}
}
@VisualBean
VisualBean / PagingFilter.cs
Last active May 9, 2016 06:22
Full PagingFilter.cs
public class PagingFilter : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext context)
{
int offset = 0;
int limit = 0;
var queryString = HttpUtility.ParseQueryString(context.Request.RequestUri.Query);
if(queryString.Count == 0) return;
int.TryParse(queryString.Get("offset"), out offset);
int.TryParse(queryString.Get("limit"), out limit);
...
config.Filters.Add(new PagingFiler());
...
$(function () {
function removeButtons(buttons) {
[].forEach.call(buttons, function (btn) {
btn.remove();
});
}
var putbuttons = document.querySelectorAll(".put .submit");
removeButtons(putbuttons);
...
.EnableSwaggerUi(c =>
{
...
c.InjectJavaScript(thisAssembly, "YourAssemblyName.YourFolder.removeTryItOutButton.js");
...
});
.EnableSwaggerUi(c =>
{
...
c.CustomAsset("index", thisAssembly, "YourAssemblyName.YourFolder.index.html");
...
});