Skip to content

Instantly share code, notes, and snippets.

@ashutoshraina
ashutoshraina / RepositoryPattern.cs
Created November 30, 2012 12:12
EF Code First Repository Pattern
public interface IRepository<T> where T: class
{
void Add( T Entity);
void Delete( T Entity);
void Update ( T Entity);
IQueryable<T> GetAll<T>();
//some more methods
}
public interface IDatabaseFactory : IDisposable
@ashutoshraina
ashutoshraina / EFUnitOfWork.cs
Created February 2, 2013 11:45
EFUnitOfWork
using System;
using System.Data.Entity;
namespace EFRepository.Infrastructure
{
/// <summary>
/// Represents an IUnitOfWork for Entity Framework
/// </summary>
public class EFUnitOfWork : IUnitOfWork
{
@ashutoshraina
ashutoshraina / IRepository.cs
Created February 2, 2013 11:45
IRepository
using System;
using System.Linq;
namespace EFRepository.Infrastructure
{
/// <summary>
/// Generic interface for the Repository.
/// </summary>
/// <typeparam name="T">EntityType T</typeparam>
public interface IRepository<T>
@ashutoshraina
ashutoshraina / IUnitOfWork.cs
Created February 2, 2013 11:46
IUnitOfWork
using System;
namespace EFRepository.Infrastructure
{
/// <summary>
/// The Interface for implementing a UnitOfWork in the Repository
/// </summary>
public interface IUnitOfWork : IDisposable
{
void Commit();
@ashutoshraina
ashutoshraina / UnitOfWorkException.cs
Created February 2, 2013 11:46
UnitOfWorkException
using System;
namespace EFRepository.Infrastructure
{
[Serializable]
public class UnitOfWorkException : Exception
{
public override string Message
{
get
@ashutoshraina
ashutoshraina / NUnitSnippet.snippet
Created February 2, 2013 11:49
NUnit Code Snippet
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>NUnitTestSnippet</Title>
<Author>Ashutosh</Author>
<Description>Creates a NUnit Test Snippet</Description>
<Shortcut>nunit</Shortcut>
</Header>
<Snippet>
@ashutoshraina
ashutoshraina / EFRepository.cs
Created February 2, 2013 11:47
EFRepository.cs
using System;
using System.Data.Entity;
using System.Linq;
namespace EFRepository.Infrastructure
{
/// <summary>
/// A EFRepository represents the repository for performing operations on the
/// Entity using the EntityFramework.
/// </summary>
@ashutoshraina
ashutoshraina / Web.config
Created May 9, 2013 15:46
Nancy Configuration for Razor Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" />
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
@ashutoshraina
ashutoshraina / ReviewModule.cs
Created May 9, 2013 16:49
ToExpando() for working with Anonymous Objects with Razor.
public static ExpandoObject ToExpando(this object anonymousObject)
{
IDictionary<string, object> anonymousDictionary = new RouteValueDictionary(anonymousObject);
IDictionary<string, object> expando = new ExpandoObject();
foreach (var item in anonymousDictionary)
expando.Add(item);
return (ExpandoObject) expando;
}