using System.Collections.Generic; using Tanshu.Accounts.Entities; using NHibernate; namespace Tanshu.Accounts.Repository { public class ProductGroupBI : FluentBase { public ProductGroupBI() : base() { } public ProductGroupBI(bool beginTransaction) : base(beginTransaction) { } public ProductGroupBI(ISession session) : base(session) { } public ProductGroupBI(ISession session, bool beginTransaction) : base(session, beginTransaction) { } public new IList List() { return Session.QueryOver() .OrderBy(x => x.Name).Asc .List(); } public IList GetProductGroupTypes() { const string query = @"select distinct(pg.GroupType) from ProductGroup pg order by pg.GroupType"; var hnq = Session.CreateQuery(query); return hnq.List(); } public ProductGroup GetProductGroupOfProduct(int productID) { using (var session = SessionManager.Session) { var item = (from p in session.QueryOver() where p.ProductID == productID select p.ProductGroup).SingleOrDefault(); NHibernateUtil.Initialize(item); return item; } } } }