using System; using System.Collections.Generic; using Sleis.Models; using NHibernate; using System.Linq.Expressions; namespace Sleis.Data { public interface IBaseData : IBaseData where T : Sleis.Models.BaseIdentityModel { T Create(T obj); T Create(T obj, NHibernate.ISession session); void Delete(int id); void Delete(int id, NHibernate.ISession session); void Delete(T obj, NHibernate.ISession session); IList Get(System.Linq.Expressions.Expression> predicate); IList GetAll(); T GetById(int id); T GetSingle(System.Linq.Expressions.Expression> predicate); void Init(); Sleis.Utility.IPropertyPlaceholder Properties { get; set; } void SaveOrUpdate(T obj); void SaveOrUpdate(T obj, NHibernate.ISession session); string ToString(); void Update(T obj); void Update(T obj, NHibernate.ISession session); } public interface IBaseData { NHibernate.ISession GetSession(); void Update(Obj obj) where Obj : Sleis.Models.BaseIdentityModel; void Update(Obj obj, NHibernate.ISession session) where Obj : Sleis.Models.BaseIdentityModel; void SaveOrUpdate(Obj obj) where Obj : Sleis.Models.BaseIdentityModel; void SaveOrUpdate(Obj obj, NHibernate.ISession session) where Obj : Sleis.Models.BaseIdentityModel; Obj GetSingle(ISession session, Expression> predicate) where Obj : BaseIdentityModel; Obj GetSingle(System.Linq.Expressions.Expression> predicate) where Obj : Sleis.Models.BaseIdentityModel; Obj GetSingle(System.Linq.Expressions.Expression> predicate, System.Linq.Expressions.Expression> selectPredicate) where Obj : Sleis.Models.BaseIdentityModel; Obj GetById(int id) where Obj : Sleis.Models.BaseIdentityModel; bool Exists(Expression> predicate, ISession session) where Obj : IIdentifiable; IList Get(System.Linq.Expressions.Expression> predicate) where Obj : Sleis.Models.BaseIdentityModel; IList Get(System.Linq.Expressions.Expression> predicate, System.Linq.Expressions.Expression> selectPredicate) where Obj : Sleis.Models.BaseIdentityModel; IList Get(Expression> predicate, Action> order, int pageNum, int pageSize) where Obj : BaseIdentityModel; IList GetAll(); void Delete(Obj obj, NHibernate.ISession session) where Obj : Sleis.Models.BaseIdentityModel; void Delete(int id) where Obj : Sleis.Models.BaseIdentityModel; void Delete(int id, NHibernate.ISession session) where Obj : Sleis.Models.BaseIdentityModel; Obj Create(Obj obj) where Obj : Sleis.Models.BaseIdentityModel; Obj Create(Obj obj, NHibernate.ISession session) where Obj : Sleis.Models.BaseIdentityModel; int Count(Expression> predicate) where Obj : Sleis.Models.BaseIdentityModel; } }