using System.Collections.Generic; using DotNetNuke.Collections; using DotNetNuke.Data; namespace Bring2mind.InMemoriam.Core.Data { public abstract class RepositoryImpl : IRepository where T : class { public virtual void Delete(T item) { using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); repo.Delete(item); } } public virtual void Delete(string sqlCondition, params object[] args) { using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); repo.Delete(sqlCondition, args); } } public virtual IEnumerable Find(string sqlCondition, params object[] args) { IEnumerable list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.Find(sqlCondition, args); } return list; } public virtual IPagedList Find(int pageIndex, int pageSize, string sqlCondition, params object[] args) { IPagedList list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.Find(pageIndex, pageSize, sqlCondition, args); } return list; } public virtual IEnumerable Get() { IEnumerable list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.Get(); } return list; } public virtual IEnumerable Get(TScopeType scopeValue) { IEnumerable list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.Get(scopeValue); } return list; } public virtual T GetById(TProperty id) { T item = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); item = repo.GetById(id); } return item; } public virtual T GetById(TProperty id, TScopeType scopeValue) { T item = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); item = repo.GetById(id, scopeValue); } return item; } public virtual IPagedList GetPage(int pageIndex, int pageSize) { IPagedList list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.GetPage(pageIndex, pageSize); } return list; } public virtual IPagedList GetPage(TScopeType scopeValue, int pageIndex, int pageSize) { IPagedList list = null; using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); list = repo.GetPage(scopeValue, pageIndex, pageSize); } return list; } public virtual void Insert(T item) { using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); repo.Insert(item); } } public virtual void Update(T item) { using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); repo.Update(item); } } public virtual void Update(string sqlCondition, params object[] args) { using (IDataContext db = DataContext.Instance()) { IRepository repo = db.GetRepository(); repo.Update(sqlCondition, args); } } } }