using CAPI.Custom.Entities; using CAPI.Custom.Security; using System.Collections.Generic; namespace CAPI.Custom.Data.Repositories { public class EntityRepository : Repository where TEntity : class, IEntity { public EntityRepository() { } public EntityRepository(QuotesContext dbContext) { this.db = dbContext ?? QuotesContext.Create(); } protected vUserShared _user; public virtual vUserShared User { get { if (_user.IsNull()) { _user = db.Users.Find(db.User.Id); } return _user; } } public Setup Setup => db.Setup; public vUserShared GetUserById(int userId) => db.Users.Find(userId); /// /// Create entity immediately /// /// /// public virtual TEntity Create(TEntity entity) => db.Create(entity); /// /// Create multiple entities immediately /// /// /// public virtual IEnumerable Create(IEnumerable entities) => db.Create(entities); /// /// Update entity immediately /// /// /// /// public virtual TEntity Update(TEntity entity) => db.Update(entity); /// /// Update multiple entities immediately /// /// /// public virtual IEnumerable Update(IEnumerable entities) => db.Update(entities); /// /// Delete entity immediately /// /// /// public virtual int Delete(TEntity entity) => db.Delete(entity); /// /// Delete multiple entities immediately /// /// /// public virtual int Delete(IEnumerable entities) => db.Delete(entities); } }