Skip to content

Instantly share code, notes, and snippets.

View KerryRitter's full-sized avatar

Kerry Ritter KerryRitter

View GitHub Profile
@KerryRitter
KerryRitter / bootstrap-checkbox.ts
Created May 12, 2016 14:15
Bootstrap Checkbox Angular 1.5 Typescript
export class Checkbox implements ng.IComponentOptions {
public bindings: any = {
ngModel: "=",
defaultValue: "<",
label: "<"
};
public template: string = `
<div type="button"
class="btn btn-default"
@KerryRitter
KerryRitter / gist:6e997d6e89701269572444de059c914c
Created May 12, 2016 14:15
Bootstrap Multi-Select Angular 1.5 Typescript
class MultiselectController {
public static $inject = ["$timeout", "$scope"];
public allSelectedLabel: string;
public options: IMultiselectOption[];
public ngModel: IMultiselectOption[];
private _maxLabelItems: number = 3;
private _clickTracker: IMultiselectOption[];
@KerryRitter
KerryRitter / arraySafeReplace.ts
Created July 6, 2016 18:49
Array safe replace for when Angular isn't kind
declare module _ {
interface LoDashStatic {
arraySafeReplace: (existingArray: any[], newArray: any[]) => any[];
}
}
_.mixin({ "arraySafeReplace": (existingArray: any[], newArray: any[]) => {
if (existingArray) {
existingArray.length = 0;
} else {
@KerryRitter
KerryRitter / ComponentModalService.ts
Created July 7, 2016 15:10
ComponentModalService
export class ComponentModalService {
public static $inject = ["$uibModal"];
private _modalInstance: ng.ui.bootstrap.IModalServiceInstance;
public constructor(
private _modalService: ng.ui.bootstrap.IModalService
) {
}
@KerryRitter
KerryRitter / gulpfile.js
Last active July 18, 2016 20:39
TypeScript/LESS Build
/// <binding ProjectOpened='watch' />
/// <reference path="node_modules/systemjs/dist/system.js" />
/// <binding ProjectOpened='default' />
var gulp = require("gulp");
var less = require("gulp-less");
var ts = require("gulp-typescript");
var minifyCss = require("gulp-minify-css");
var concatCss = require("gulp-concat-css");
var concat = require("gulp-concat");
@KerryRitter
KerryRitter / tslint.json
Created July 20, 2016 17:08
tslint.json
{
"rules": {
"class-name": true,
"comment-format": [
true,
"check-space"
],
"curly": true,
"indent": [
true,
@KerryRitter
KerryRitter / CsvBuilder.cs
Created August 17, 2016 20:34
CsvBuilder.cs
/// <summary>
/// Class for building CSV outputs
/// </summary>
/// <seealso cref="System.IDisposable" />
public class CsvBuilder : IDisposable
{
private readonly StringBuilder _stringBuilder;
private readonly string _delimiter;
@KerryRitter
KerryRitter / gist:1de4f773391a77214942
Last active September 13, 2016 18:49
AsMockDbSet extension for IEnumerables
public static Mock<DbSet<T>> AsMockDbSet<T>(this IEnumerable<T> data) where T : class
{
var mockSet = new Mock<DbSet<T>>();
var queryable = data.AsQueryable();
mockSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(() => queryable.Provider);
mockSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(() => queryable.Expression);
mockSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(() => queryable.ElementType);
mockSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(() => queryable.GetEnumerator());
@KerryRitter
KerryRitter / ContextFactory.cs
Last active November 3, 2016 14:16
Dapper.Contrib test
using System.Data.SqlClient;
using System.Configuration;
namespace DapperTest
{
public static class ContextFactory
{
public static SqlConnection Create() => new SqlConnection(ConfigurationManager.ConnectionStrings["MyCxn"].ConnectionString);
}
}
@KerryRitter
KerryRitter / example.cs
Last active November 3, 2016 14:36
Dapper relationship query example
using (var connection = new SqlConnection(_config["Connection"]))
{
string query = @"SELECT *
FROM [Template]
WHERE [Type] = @type;
SELECT tct.TemplateId as TemplateId, tc.Name as CategoryName
FROM [TemplateCategory_Template] tct
JOIN [TemplateCategory] tc ON tct.TemplateCategoryId = tc.Id;