Skip to content

Instantly share code, notes, and snippets.

View bjcull's full-sized avatar
💲
Helping people get paid

Ben Cull bjcull

💲
Helping people get paid
View GitHub Profile
// jquery.jqax.js - A plugin for jQuery ajax wrapping some common
// functionality aimed at .NET services and page methods
// Ben Cull - 18 August 2010
(function($) {
$.jQax = function(options) {
// Load Defaults and make them public
this.defaults = {
ShowLoading: true,
/****** Object: UserDefinedFunction [dbo].[SplitQuoteSafe] Script Date: 09/13/2010 16:57:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- SELECT * FROM dbo.SplitQuoteSafe('"Test","Stuff, that, has commas","ok",24.45,,yes', ',')
CREATE FUNCTION [dbo].[SplitQuoteSafe]
(
@RowData nvarchar(2000),
@SplitOn nvarchar(5)
@bjcull
bjcull / CreditCardAttribute.cs
Created November 4, 2010 03:04
Credit Card Validator Attribute for ASP.NET MVC 3
/// ASP.NET MVC 3 Credit Card Validator Attribute
/// by Ben Cull - 4 November 2010
///
/// With special thanks to:
/// Thomas @ Orb of Knowledge - http://orb-of-knowledge.blogspot.com/2009/08/extremely-fast-luhn-function-for-c.html
/// For the Extremely fast Luhn algorithm implementation
///
/// And Paul Ingles - http://www.codeproject.com/KB/validation/creditcardvalidator.aspx
/// For a timeless blog post on credit card validation
@bjcull
bjcull / ContinuumTransition.cs
Created November 7, 2011 14:25
Continuum Transition for Silverlight Toolkit
namespace BenjiiMe.Animation
{
public class ContinuumTransition : TransitionElement
{
public const string ContinuumElementPropertyName = "ContinuumElement";
public const string ContinuumModePropertyName = "Mode";
public FrameworkElement ContinuumElement
{
get { return (FrameworkElement)GetValue(ContinuumElementProperty); }
@bjcull
bjcull / ExcelExtensions.cs
Created December 21, 2011 03:22
Export an IEnumerable to Excel
public static class ExcelExtensions
{
public static FileStreamResult ToDownloadableXmlFileForExcel2003(this System.Xml.Linq.XDocument file, string fileName)
{
MemoryStream ms = new MemoryStream();
file.Save(ms); //.Save() adds the <xml /> header tag!
ms.Seek(0, SeekOrigin.Begin);
var r = new FileStreamResult(ms, "application/vnd.ms-excel");
@bjcull
bjcull / PropertyNotify.snippet
Created September 16, 2012 04:06
Property with NotifyOfPropertyChange Code Snippet. To be used with the Caliburn.Mircro library.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Property with Notify Snippet</Title>
<Author>Ben Cull - http://benjii.me</Author>
<Description>Inserts a full property with a NotifyOfPropertyChange statement as well. To be used with the Caliburn.Mircro library.</Description>
<Shortcut>propnfy</Shortcut>
</Header>
@bjcull
bjcull / QuickEvent.js
Created February 17, 2013 04:34
A tiny javascript event engine
var QuickEvent = function () {
var nextSubscriberId = 0;
var subscriberList = [];
var subscribe = function (callback) {
var id = nextSubscriberId;
subscriberList[id] = callback;
nextSubscriberId++;
return id;
};
@bjcull
bjcull / HttpsServiceHostFactory.cs
Created September 12, 2013 01:06
Dynamically create https endpoints for configurationless WCF
public class HttpsServiceHostFactory : ServiceHostFactory
{
protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
ServiceHost host = new ServiceHost(serviceType, baseAddresses);
foreach (Uri baseAddress in baseAddresses)
{
BasicHttpBinding binding = CreateSoapBinding(baseAddress);
@bjcull
bjcull / HttpsWebServiceHostFactory.cs
Created September 12, 2013 01:07
Dynamically creates https endpoints for Configurationless WCF (Restful)
public class HttpsWebServiceHostFactory : WebServiceHostFactory
{
protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
WebServiceHost host = new WebServiceHost(serviceType, baseAddresses);
foreach (Uri baseAddress in baseAddresses)
{
WebHttpBinding binding = CreateRestBinding(baseAddress);
ServiceEndpoint endpoint = host.AddServiceEndpoint(serviceType.GetInterfaces()[0], binding, baseAddress);
@bjcull
bjcull / WordDocumentAttribute.cs
Created January 30, 2014 03:52
A Filter Attribute that lets you download an ASP.NET MVC View as a Word Document
public class WordDocumentAttribute : ActionFilterAttribute
{
public string DefaultFilename { get; set; }
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var result = filterContext.Result as ViewResult;
if (result != null)
result.MasterName = "~/Views/Shared/_LayoutWord.cshtml";