| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- // ======================================
- // Author: Ebenezer Monney
- // Email: info@ebenmonney.com
- // Copyright (c) 2017 www.ebenmonney.com
- //
- // ==> Gun4Hire: contact@ebenmonney.com
- // ======================================
- using DAL.Repositories.Interfaces;
- using Microsoft.EntityFrameworkCore;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- using System.Threading.Tasks;
- namespace DAL.Repositories
- {
- public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
- {
- protected readonly DbContext _context;
- protected readonly DbSet<TEntity> _entities;
- public Repository(DbContext context)
- {
- _context = context;
- _entities = context.Set<TEntity>();
- }
- public virtual void Add(TEntity entity)
- {
- _entities.Add(entity);
- }
- public virtual void AddRange(IEnumerable<TEntity> entities)
- {
- _entities.AddRange(entities);
- }
- public virtual void Update(TEntity entity)
- {
- _entities.Update(entity);
- }
- public virtual void UpdateRange(IEnumerable<TEntity> entities)
- {
- _entities.UpdateRange(entities);
- }
- public virtual void Remove(TEntity entity)
- {
- _entities.Remove(entity);
- }
- public virtual void RemoveRange(IEnumerable<TEntity> entities)
- {
- _entities.RemoveRange(entities);
- }
- public virtual int Count()
- {
- return _entities.Count();
- }
- public virtual IEnumerable<TEntity> Find(Expression<Func<TEntity, bool>> predicate)
- {
- return _entities.Where(predicate);
- }
- public virtual TEntity GetSingleOrDefault(Expression<Func<TEntity, bool>> predicate)
- {
- return _entities.SingleOrDefault(predicate);
- }
- public virtual TEntity Get(int id)
- {
- return _entities.Find(id);
- }
- public virtual IEnumerable<TEntity> GetAll()
- {
- return _entities.ToList();
- }
- }
- }
|