Skip to content

Instantly share code, notes, and snippets.

View BryanWilhite's full-sized avatar
😐

Bryan Wilhite BryanWilhite

😐
View GitHub Profile
@BryanWilhite
BryanWilhite / OracleManagedDataSourceExtensions.cs
Created September 23, 2015 23:15
OracleManagedDataSourceExtensions
public static class OracleManagedDataSourceExtensions
{
public static string ToConnectionString(this OracleManagedDataSource source, string userName, string password)
{
var connectionStringFormat = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL={0})(HOST={1})(PORT={2}))(CONNECT_DATA=(SERVICE_NAME={3})));User Id={4};Password={5};";
return string.Format(connectionStringFormat,
source.Protocol,
source.ServerName,
source.Port,
source.ServiceName,
@BryanWilhite
BryanWilhite / ValidationContextExtensions.cs
Last active September 22, 2015 20:57
ValidationContextExtensions
using Songhay.Extensions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Songhay.Extensions
{
/// <summary>
@BryanWilhite
BryanWilhite / IDataReaderExtensions.cs
Created September 22, 2015 00:21
IDataReaderExtensions
public static class IDataReaderExtensions
{
public static DateTime ToDateTime(this IDataReader reader, string key)
{
var d = reader.ToNullableDateTime(key);
if (!d.HasValue) ThrowNullReferenceException(key);
return d.GetValueOrDefault();
}
public static int ToInt(this IDataReader reader, string key)
@BryanWilhite
BryanWilhite / controller_fragment.js
Created September 11, 2015 00:35
Using ngClass, $parent, $first and the Client View Model with ngRepeat
isIndexSubsetHeaderSelected: function (subset, isFirst) {
if (!this.routeIndexSet) {
return false;
}
if (!this.routeIndexSubset) {
return isFirst;
};
return (this.routeIndexSubset === subset);
},
@BryanWilhite
BryanWilhite / controller_fragment.js
Created September 10, 2015 23:45
Using Angular UI pagination with Underscore-JS sorting
var doIndexController = function ($scope, paginationService) {
$scope.vm = {
filterExpression: null,
filterData: function () {
var filterExpression = $scope.vm.filterExpression;
if (!filterExpression) { return; }
var dataFiltered = _(this.data).filter(function (i) {
var title = i.Title;
var isContainedInTitle = (title && title.toLowerCase().indexOf(filterExpression) === -1) ? false : true;
return isContainedInTitle;
@BryanWilhite
BryanWilhite / example.js
Last active September 10, 2015 22:23
Angular Data Service with Simple Caching
/* Services */
var doDataService = function ($http, $q) {
var dataCache = [];
return {
cacheData: function (id, data) {
dataCache.push({
"id": id,
"data": data
});
},
@BryanWilhite
BryanWilhite / gulpfile.js
Created July 28, 2015 21:51
gulp file for kintespace.com
 /*jslint node: true */
/*global require, console */
"use strict";
var gulp = require("gulp"),
concat = require("gulp-concat"),
map = require("map-stream"),
vinyl_fs = require("vinyl-fs"),
sass = require("gulp-ruby-sass"),
@BryanWilhite
BryanWilhite / ClientJsonFormatter.cs
Created June 29, 2015 16:41
Web API extension over JsonMediaTypeFormatter [obsolete? ; replaced by JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"))?]
using Newtonsoft.Json;
using System;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
namespace Songhay.Web.MediaTypeFormatters
{
/// <summary>
/// Media-Type Formatter for client-side JSON
/// </summary>
@BryanWilhite
BryanWilhite / TestContextExtensions.cs
Last active August 29, 2015 14:23
ShouldTransformWebConfig() uses WebConfigTransformRunner
/// <summary>
/// Test context extensions: should transform web configuration.
/// </summary>
/// <param name="context">The context.</param>
/// <param name="pathToWebConfigTransformRunnerExe">The path to web configuration transform runner executable.</param>
/// <param name="outputFile">The output file.</param>
/// <param name="transformFile">The transform file.</param>
/// <param name="webConfigFile">The web configuration file.</param>
/// <param name="workingDirectory">The working directory.</param>
/// <param name="xPaths">The x paths.</param>
@BryanWilhite
BryanWilhite / TestContextExtensions.cs
Created June 22, 2015 17:07
ShouldTestRoutes() uses MvcRouteTester.Mvc5.2
/// <summary>
/// Test context extensions: should test routes.
/// </summary>
/// <param name="context">The context.</param>
/// <param name="pathToJson">The path to json.</param>
public static void ShouldTestRoutes(this TestContext context, Type controllerType, string pathToJson)
{
var routes = new RouteCollection();
routes.MapAttributeRoutesInAssembly(controllerType);
Assert.IsTrue(routes.Any(), "The expected attribute routes are not here.");