Skip to content

Instantly share code, notes, and snippets.

View harboe's full-sized avatar

Dennis Harboe Christensen harboe

View GitHub Profile
@harboe
harboe / DisposableObject.cs
Created June 6, 2013 13:43
DisposableObject
using System.Diagnostics;
using System.Globalization;
/// <summary>
/// Implement the Dispose pattern.
/// </summary>
public abstract class DisposableObject : IDisposable
{
#region Field Members
@harboe
harboe / EnumerationExtensions.cs
Last active December 18, 2015 03:58
Enumeration Extensions: Has, Is, Add, Remove
using System;
using System.Collections.Generic;
using System.Linq;
public static class EnumerationExtensions
{
//checks if the value contains the provided type
public static bool Has<T>(this Enum type, T value)
{
try
@harboe
harboe / ReflectionExtensions.cs
Created June 6, 2013 13:47
Reflection Attributes Extensions
using System;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
/// <summary>
/// summary description of what the class represents.
/// </summary>
public static class MemberInfoExtensions
{
#region GetAttribute Members
@harboe
harboe / StringExtensions.cs
Created June 6, 2013 13:49
Common useful String Extensions like slugify, titlecase
using System;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
public static class StringExtensions
{
public static string Slugify(this string txt)
{
string str = txt.RemoveAccent().ToLower();
@harboe
harboe / DbCommandExtensions.cs
Created June 6, 2013 13:51
DbCommand simplifying add parameter
using System;
using System.Data;
public static class DbCommandExtensions
{
public static IDbDataParameter AddParameter(this IDbCommand cmd, string name, object value, DbType type = DbType.String, ParameterDirection direction = ParameterDirection.Input)
{
var param = cmd.CreateParameter();
param.ParameterName = name;
param.Value = GetDefaultOrEnumValue(value, type);
@harboe
harboe / DbDataReaderExtensions.cs
Created June 6, 2013 13:52
add generic support for the DataReader
using System;
using System.Data;
using System.Linq;
using System.Globalization;
public static class DbDataReaderExtensions
{
public static T Get<T>(this IDataReader reader, int columnIndex, T defaultValue = default(T))
{
try
@harboe
harboe / IQueryableExtensions.cs
Created June 6, 2013 13:55
Adding a simple support for Paging with IQueryable
using System;
using System.Linq;
public static class IQueryableExtensions
{
public static Paged<T> AsPaged<T>(this IQueryable<T> queryable, int index = 0, int size = 20)
{
return new Paged<T>(queryable, index, size);
}
}
@harboe
harboe / DotlessTransform.cs
Created June 6, 2013 13:59
ASP.NET MVC4 BundleTransfromer for Dotless.
using dotless.Core;
using dotless.Core.Abstractions;
using dotless.Core.Importers;
using dotless.Core.Input;
using dotless.Core.Loggers;
using dotless.Core.Parser;
using System;
using System.IO;
using System.Text;
@harboe
harboe / knockout-observableArrayMap.js
Last active December 18, 2015 03:58
Knockout ObservableArray Map. Snippet from: Ryan Niemeyer - Getting the Most Out of Knockout.js @ http://vimeo.com/51103092
(function (undefined) {
//
// simple map function to extend the observableArray.
ko.observableArray.fn.map = function (data, Constructor) {
var mapped = ko.utils.arrayMap(data, function (item) {
return new Constructor(item);
});
this(mapped);
@harboe
harboe / MongoRepository.cs
Created June 6, 2013 14:13
Simple Repository Pattern For using MongoDb
using System;
using System.Configuration;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
public abstract class Repository
{
protected Repository(string connectionStringName)