93 lines
3.9 KiB
C#
93 lines
3.9 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using Tanshu.Accounts.Contracts;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using Tanshu.Data.DAO;
|
|||
|
using Tanshu.Accounts.Entities;
|
|||
|
using Tanshu.Accounts.SqlDAO;
|
|||
|
using NHibernate.Criterion;
|
|||
|
|
|||
|
namespace Tanshu.Accounts.Repository
|
|||
|
{
|
|||
|
public static class ProductGroupModifierBI
|
|||
|
{
|
|||
|
public static void Insert(ProductGroupModifier productGroupModifier)
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
session.Save(productGroupModifier);
|
|||
|
}
|
|||
|
}
|
|||
|
public static void Update(ProductGroupModifier productGroupModifier)
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
session.Update(productGroupModifier);
|
|||
|
}
|
|||
|
}
|
|||
|
public static void Delete(int productGroupModifierID)
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
session.Delete(new ProductGroupModifier() { ProductGroupModifierID = productGroupModifierID });
|
|||
|
}
|
|||
|
}
|
|||
|
public static IList<ProductGroupModifier> GetProductGroupModifiers()
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
return session.CreateCriteria<ProductGroupModifier>()
|
|||
|
.List<ProductGroupModifier>();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static IList<Modifier> GetProductGroupModifiers(int productGroupID)
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
return (from pgm in session.QueryOver<ProductGroupModifier>()
|
|||
|
where pgm.ProductGroup == null || pgm.ProductGroup.ProductGroupID == productGroupID
|
|||
|
select pgm.Modifier).List<Modifier>();
|
|||
|
}
|
|||
|
}
|
|||
|
public static bool HasCompulsoryModifier(int productGroupID)
|
|||
|
{
|
|||
|
using (var session = SessionManager.Session)
|
|||
|
{
|
|||
|
var l = from gf in session.QueryOver<ProductGroupModifier>()
|
|||
|
where gf.ShowAutomatically == true && (gf.ProductGroup == null || gf.ProductGroup.ProductGroupID == productGroupID)
|
|||
|
select gf;
|
|||
|
int c = l.RowCount();
|
|||
|
return c > 0;
|
|||
|
// var a = session.CreateQuery(@"
|
|||
|
//select count(pgm)
|
|||
|
//from ProductGroupModifier as pgm
|
|||
|
//where pgm.ShowAutomatically = true
|
|||
|
//and (ProductGroupID is null or ProductGroupID = :ProductGroupID")
|
|||
|
// .SetInt32("ProductGroupID", productGroupID)
|
|||
|
// .UniqueResult<int>();
|
|||
|
// return a > 0;
|
|||
|
//var count1 = session.CreateCriteria<ProductGroupModifier>()
|
|||
|
// .Add(Restrictions.Eq("ShowAutomatically", true))
|
|||
|
// .Add(Restrictions.IsNull("ProductGroupID"))
|
|||
|
// .SetProjection(Projections.Count("ProductGroupModifierID")).UniqueResult();
|
|||
|
//return (int)count1 > 0;
|
|||
|
|
|||
|
////var count = session.CreateSQLQuery (@"
|
|||
|
////SELECT COUNT(*) FROM Entities_ProductGroupModifiers WHERE
|
|||
|
////var counts = session.QueryOver<ProductGroupModifier>()
|
|||
|
//// .Where(c => c.ShowAutomatically == true)
|
|||
|
//// .Select(Projections.Count("ProductGroupModifierID"));
|
|||
|
//var count = session.CreateCriteria<ProductGroupModifier>()
|
|||
|
// .Add(Restrictions.Eq("ShowAutomatically", true))
|
|||
|
// .Add(Expression.Conjunction()
|
|||
|
// .Add(Restrictions.Eq("ProductGroupID", productGroupID))
|
|||
|
// .Add(Restrictions.IsNull("ProductGroupID")))
|
|||
|
// .SetProjection(Projections.Count("ProductGroupModifierID")).UniqueResult();
|
|||
|
//return (int)count > 0;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|