using BrightGlimmer.Data.Interfaces; using BrightGlimmer.Domain; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BrightGlimmer.Data.Repositories { public abstract class Repository : IRepository where T : Entity { public IUnitOfWork UnitOfWork => context; protected BgContext context; public Repository(BgContext context) { this.context = context; } public virtual T Create(T entity) { return context.Set().Add(entity).Entity; } public virtual T Update(T entity) { return context.Set().Update(entity).Entity; } public virtual void Remove(Guid id) { context.Set().Remove(Get(id)); } public virtual IQueryable Get() { return context.Set(); } public virtual T Get(Guid id) { return context.Set().Find(id); } } }