Skip to content

Instantly share code, notes, and snippets.

View cerkit's full-sized avatar

cerkit cerkit

View GitHub Profile
@cerkit
cerkit / EntityBase.cs
Last active August 29, 2015 13:57
The base Entity class for my portable class library.
using Newtonsoft.Json;
using System.IO;
namespace RecordKeeper.Portable.Models
{
public abstract class EntityBase
{
public EntityBase() { }
#region Properties
@cerkit
cerkit / RepositoryBase.cs
Created March 24, 2014 20:50
This is the generic base repository class that handles data store operations with the Entity classes.
using Newtonsoft.Json;
using RecordKeeper.Portable.Models;
using System.IO;
using System.Security.Principal;
using System.Threading;
namespace RecordKeeper.Data.Repositories
{
public abstract class RepositoryBase<TEntity> where TEntity : EntityBase
{
using RecordKeeper.Portable.Models;
namespace RecordKeeper.Data.Interfaces
{
public interface IFormatRepository : IRepository<AlbumFormat>
{
}
}
using RecordKeeper.Portable.Models;
using System.Collections.Generic;
namespace RecordKeeper.Data.Interfaces
{
public interface IRepository<TEntity> where TEntity : EntityBase
{
List<TEntity> GetAll();
TEntity Get(string id);
void Update(TEntity entity);
using RecordKeeper.Data.Interfaces;
using RecordKeeper.Portable.Models;
using System;
using System.Collections.Generic;
namespace RecordKeeper.Data.Repositories
{
public class FormatRepository : RepositoryBase<AlbumFormat>, IFormatRepository
{
List<AlbumFormat> _formatList;
@cerkit
cerkit / AlbumFormatController.cs
Last active August 29, 2015 13:57
The Controller responsible for retrieving the album format information from the data store
namespace RecordKeeperApi.Controllers
{
public class AlbumFormatController : ApiController
{
private IFormatRepository _repository;
public AlbumFormatController() : this(new FormatRepository()) { }
public AlbumFormatController(IFormatRepository repository)
{
_repository = repository;
@cerkit
cerkit / AlbumFormat.json
Created March 25, 2014 13:05
The results from calling /api/AlbumFormat
[{"Id":"CD","Description":"Compact Disc"},{"Id":"Record","Description":"Vinyl Record"}]
@cerkit
cerkit / AlbumFormat.xml
Created March 25, 2014 13:07
The results from calling /api/AlbumFormat from Chrome
<ArrayOfAlbumFormat xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/RecordKeeper.Portable.Models">
<AlbumFormat>
<Description>Compact Disc</Description>
<Id>CD</Id>
</AlbumFormat>
<AlbumFormat>
<Description>Vinyl Record</Description>
<Id>Record</Id>
</AlbumFormat>
</ArrayOfAlbumFormat>
@cerkit
cerkit / IEntityService.cs
Created March 25, 2014 19:09
The core interface for defining an service for retrieving Entities from a WebAPI
using RecordKeeper.Portable.Models;
using System.Collections.Generic;
using System.Net;
using System.Threading.Tasks;
namespace PortableClient.WebApi.Dal.Interfaces
{
public interface IEntityService<TEntity> where TEntity : EntityBase
{
Task<IEnumerable<TEntity>> Get(ICredentials credentials = null);
using Newtonsoft.Json;
using RecordKeeper.Portable.Models;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
namespace PortableClient.WebApi.Dal.Services