Skip to content

Instantly share code, notes, and snippets.

View StacyGay's full-sized avatar

Stacy Gay StacyGay

View GitHub Profile
@StacyGay
StacyGay / DataHelper.cs
Created November 1, 2012 16:14
Utilities methods for getting data to javascript front end
namespace Utilities.Data
{
public static class Extensions
{
public static string ToJson(this Object obj)
{
return (new JavaScriptSerializer()).Serialize(obj);
}
}
@StacyGay
StacyGay / gist:3a5fd9ae6c6d217deb4f
Created July 12, 2014 20:58
DI Conditional Registration
public interface IBusinessLogicService
{
int DoSomething(int x);
}
public class MainLogicService : IBusinessLogicService
{
public int DoSomething(int x)
{
return 1 + x;
@StacyGay
StacyGay / SubContext.cs
Created July 12, 2014 21:15
DI Child Container
public class SubContext
{
private readonly IUnityContainer _childContainer;
public SubContext(IUnityContainer container)
{
_childContainer = container.CreateChildContainer();
_childContainer.RegisterType<IBusinessLogicService, AltLogicService>();
}
@StacyGay
StacyGay / InterfaceFactory.cs
Created July 13, 2014 15:41
InterfaceFactory and InterfaceExtension
public enum ServiceTypes { Main, Alt };
public interface IConfig
{
ServiceTypes ServiceSetting { get; set; }
}
public class Config : IConfig
{
public ServiceTypes ServiceSetting { get; set; }
@StacyGay
StacyGay / ClientConfigLoop.cs
Created July 13, 2014 20:35
Client loop example
public class ClientConfigLoop
{
private readonly IClientConfigRepo _configRepo;
private readonly InterfaceFactory _interfaceFactory;
public ClientConfigLoop(IClientConfigRepo configRepo, InterfaceFactory interfaceFactory)
{
_interfaceFactory = interfaceFactory;
_configRepo = configRepo;
}
@StacyGay
StacyGay / DependencyResolver.cs
Last active August 29, 2015 14:03
DependencyResolver Example
public class DependencyResolver : IDependencyResolver
{
private readonly SessionContainerManager _containerManager;
public DependencyResolver(SessionContainerManager containerManager)
{
_containerManager = containerManager;
}
protected IUnityContainer ChildContainer
@StacyGay
StacyGay / SessionContainerManager.cs
Created July 13, 2014 21:00
SessionContainerManager example
public class SessionContainerManager
{
private const string HttpContextKey = "Container";
private readonly IUnityContainer _container;
public SessionContainerManager(IUnityContainer container)
{
_container = container;
}
@StacyGay
StacyGay / ExtensionLoader.cs
Created July 13, 2014 21:05
ExtensionLoader example
public class ExtensionLoader
{
private readonly IUnityContainer _container;
private readonly IClientConfigRepo _configRepo;
public ExtensionLoader(IUnityContainer container, IClientConfigRepo configRepo)
{
_configRepo = configRepo;
_container = container;
}
@StacyGay
StacyGay / ControllerFactory.cs
Created July 13, 2014 21:08
ControllerFactory example
public class ControllerFactory : DefaultControllerFactory
{
private readonly IUnityContainer _container;
private readonly SessionContainerManager _containerManager;
public ControllerFactory(IUnityContainer container, SessionContainerManager containerManager)
{
_containerManager = containerManager;
_container = container;
}
@StacyGay
StacyGay / Bootstrapper.cs
Created July 13, 2014 21:26
Bootstrapper example
public class Bootstrapper
{
public static IUnityContainer Initialise()
{
var container = BuildUnityContainer();
var containerManager = new SessionContainerManager(container);
var dependencyResolver = new DependencyResolver(containerManager);
var controllerFactory = new ControllerFactory(container, containerManager);
DependencyResolver.SetResolver(dependencyResolver);